SQL 쿼리가 아닌 직관적인 코드로 데이터를 조작할 수 있음(쿼리를 직접 작성하지 않아도 됨)
-개발자가 보다 비즈니스 로직에 집중을 할 수 있음
재사용 및 유지보수가 편리
-ORM은 독립적으로 작성되어 있어 재사용이 가능(ORM만 수정해주면 모든 곳이 자동으로 수정이 된다.)
-매핑정보를 명확하게 설계하기 때문에 따로 데이터베이스를 볼 필요가 없음
DBMS에 대한 종속성이 줄어듬
- DBMS를 교체하는 작업을 비교적 적은 리스크로 수행 가능
복잡성이 커질 경우 ORM만으로 구현하기 어려움
-직접 쿼리를 구현하지 않아 복잡한 설계가 어려움
잘못 구현할 경우 속도 저하 발생
대형 쿼리는 벌도의 튜닝이 필요할 수 있음
JPA는 Java Persistance API의 줄임말이며, ORM과 관련된 인터페이스의 모음
JAVA 진영에서 표준 ORM으로 채택되어 있음
ORM이 큰 개념이라면 JPA는 더 구체화시킨 스펙을 포함하고 있음
ORM Framework 중 하나
JPA의 실제 구현체 중 하나이며, 현재 JPA 구현체 중 가장 많이 사용됨
EclipseLink, Hibernate, DataNucleus 등이 있음