IT/자바, 스프링

ORM, JPA, Hibernate

thesse 2019. 8. 27. 19:18
300x250
반응형

 

 

 

ORM(Object Relation Mapping)
ORM은 도메인 오브젝트와 db를 연동하는 기술이다.
객체지향 언어인 자바와 관계형 DB의 테이블을 매핑해주는 것이다.

JPA : Java Persistance API
JPA는 JAVA에서 제공하는 ORM API이다.

 

Hibernate
ORM은 기본 개념이고, JPA는 ORM을 구현한 것이다.
그런 JPA를 다시 구현한 프레임워크가 하이버네이트이다.

 

 


기존 MVC 모델에서, Domain에 게터세터를 설정해두고 DAO 클래스에 CRUD에 해당하는 쿼리를 모두 써놓고 불러서 사용했던것과 달리
ORM을 이용하면 어노테이션으로 Domain을 설정하고, 쿼리문 대신 JAP에 준비된 메소드를 이용하여 데이터를 처리할 수 있다. 반복적인 쿼리문의 작성, 잦은 DB와의 커넥션이 필요없어진다.



그러나 메소드만으로 세밀한 쿼리문을 날리기는 어렵다는 단점이 있어 이를 보완하기 위해 JPQL을 사용해야 한다.

또한 JPA를 제대로 쓰려면 공부를 많이 해야 한다. 러닝 커브가 높다고들 표현한다.

 

 

 

▼ 쿼리문 대신 사용가능한 메서드들

 

 

참고

https://victorydntmd.tistory.com/195

https://m.blog.naver.com/tmondev/220716997908

300x250
반응형