[서버][스프링] Hibernate와 Spring Data JPA의 차이점

프로그래밍/서버2021. 3. 13. 01:12

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/

 

JPA, Hibernate, 그리고 Spring Data JPA의 차이점

개요 Spring 프레임워크는 어플리케이션을 개발할 때 필요한 수많은 강력하고 편리한 기능을 제공해준다. 하지만 많은 기술이 존재하는 만큼 Spring 프레임워크를 처음 사용하는 사람이 Spring 프레

suhwan.dev

dzone.com/articles/what-is-the-difference-between-hibernate-and-sprin-1#:~:text=Hibernate%20is%20a%20JPA%20implementation,solution%20to%20GenericDao%20custom%20implementations.&text=question%20at%20StackOverflow.-,Hibernate%20provides%20a%20reference%20implementation%20of%20the%20Java%20Persistence%20API,with%20benefits%20of%20loose%20coupling.

 

What Is the Difference Between Hibernate and Spring Data JPA? - DZone Java

In this quick article, we will look at describing the difference between the Hibernate ORM framework and Spring Data JPA.

dzone.com

velog.io/@adam2/JPA%EB%8A%94-%EB%8F%84%EB%8D%B0%EC%B2%B4-%EB%AD%98%EA%B9%8C-orm-%EC%98%81%EC%86%8D%EC%84%B1-hibernate-spring-data-jpa

 

JPA는 도대체 뭘까? (orm, 영속성, hibernate, spring-data-jpa)

JPA는 도대체 무엇일까요? orm, jdbc, 영속성, hibernate, ... 관련 지식까지 모두 파해쳐봅니다.

velog.io

 

blog.naver.com/iwin1203/222254159907

 

스프링 입문 - DB에 연결하기(JDBC temp., JPA, Spring Data JPA)

해당 글은 inflearn - [스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술] 을 수강하...

blog.naver.com

 

작성자

Posted by 드리머즈

관련 글

댓글 영역