[서버][스프링] Hibernate와 Spring Data JPA의 차이점
Hibernate는 (그냥) JPA라는 Java ORM 규격을 구현한 것입니다.
ORM은 Object Realation Mapping이라 하여 자바에서 개발자가 일일히 쿼리문을 만들어서 DB와 통신(JDBC)하는 게 아니라 객체를 만들면 자동으로 쿼리문이 만들어져서 DB와 통신이 가능하도록 하는 규격(abstraction)입니다.
Spring Data JPA는 스프링에서 제공하는 JPA 상위 레이어입니다. 기본적으로 Hibernate를 사용하는데 개발자를 좀 더 편하게 만듭니다.
JDBC 대신 Hibernate를 사용하면 좀 더 편합니다. 하지만 여전히.. 반복적인 boilerplate 코드를 개발자가 작성해야하는 불편함이 있습니다.
mkyong.com/spring/maven-spring-hibernate-mysql-example/
위의 링크를 보면 spring data jpa 없이 hibernate와 srping 만으로 db 연동을 하는 코드를 볼 수 있습니다. 뭔가 작성해야하는 것들이 많습니다.
www.baeldung.com/the-persistence-layer-with-spring-data-jpa
이와 달리 spring data jpa를 사용하는 위의 링크를 보면 훨씬 간단합니다.
Now Spring data jpa allow us to define dao interfaces by extending its repositories(crudrepository, jparepository) so it provide you dao implementation at runtime. You don't need to write dao implementation anymore.Thats how spring data jpa makes your life easy.
Spring data JPA가 DAO 구현을 알아서 해주기 때문에 개발자를 편하게 해줍니다.
참고
suhwan.dev/2019/02/24/jpa-vs-hibernate-vs-spring-data-jpa/
blog.naver.com/iwin1203/222254159907
댓글 영역