

영속성 = Spring - memory
@Transaction
public voic hi() {
insertBatch(); → JPA 다중 인서트 X → JDBC
persist.remove();
updateHi(); → JPA
}
완벽한 객체지향적인 코드
ORM을 이용하면 SQL문이 아닌 클래스의 메서드를 통해 데이터베이스를 조작할 수 있어, 개발자가 객체 모델만 이용해서 프로그래밍을 하는 데 집중할 수 있게한다. SQL 문을 사용하면서 같이 필요한 선언문, 할당, 종료 같은 부수적인 코드가 사라지거나 줄어들며, 각종 객체에 대한 코드를 별도로 작성하여 코드의 가독성을 높일 수 있다. 객체지향적 접근과 SQL의 절차적/순차적 접근이 혼재되어있던 기존 방식과 달리 오직 객체지향적 접근만 고려하면 되기때문에 생산성이 증가한다.
row - entity 객체 한 개
재사용, 유지보수, 리팩토링 용이성