Hibernate - vs JDBC vs JPA vs Spring Data JPA
Java를 데이터베이스에 연결하는 첫 번째이자 기본 솔루션은 JDBC입니다. JDBC는 "자바 데이터베이스 연결"을 나타냅니다. 1997년 Sun Microsystems에서 출시한 Java의 일부입니다. JDBC를 사용하면 데이터 소스와의 연결을 설정하고 쿼리를 보내고 명령문을 업데이트하고 결과를 처리할 수 있습니다.
간단히 말해 JDBC를 사용하면 Java 애플리케이션 내에서 다음 작업을 수행할 수 있습니다.
다음과 같은 경우 JDBC가 훨씬 더 나은 옵션입니다.
요컨대 JDBC는 간단한 프로세스에 더 나은 옵션입니다. JDBC의 유일한 단점은 데이터 세트와 논리 간의 많은 매핑이 SQL과 혼합되는 형편없는 코드가 종종 있을 수 있다는 것입니다. 따라서 JPA가 유용할 때입니다.
코드와 데이터베이스 테이블의 개체 간 매핑을 허용하는 사양입니다. 이렇게 하면 개발자에게 SQL을 숨길 수 있고 CRUD 작업을 수행하기 위해서만 클래스와 개체를 처리할 수 있습니다. 아래에서 JDBC를 사용하는 JPA에서 Java 주석을 사용하여 이러한 세부 정보를 지정할 수 있는 동안 테이블 이름 및 열 이름과 같은 테이블과 같은 모든 세부 정보를 노출해야 합니다.
JPA is not a tool or framework. It defines a set concepts that can be implemented by another tool or framework.
해당 도구 또는 프레임워크는 Hibernate일 수 있습니다. "JPA는 댄스, Hibernate는 댄서"라는 설명을 좋아하므로 JPA는 인터페이스이고 Hibernate는 구현입니다.
마지막으로 Spring Data JPA는 Spring Framework의 일부입니다. Spring Data의 목표는 상용구 코드를 줄이는 것입니다. Hibernate와 같은 JPA 제공자 상단에 추가 추상화 계층을 추가합니다. 기본적으로 Spring Data는 Hibernate를 ORM 공급자로 사용합니다. 원하시면 변경 가능합니다. Spring 데이터와 함께 Spring을 사용하는 경우 Spring Boot는 자동으로 연결할 수 있도록 자동 구성을 활성화합니다. 데이터베이스와 프로그램 간의 연결을 설정하려면 호스트, 암호 및 사용자 이름만 필요합니다. 얼마나 간단합니까?
JpaRepository를 확장하는 인터페이스를 생성하기만 하면 save(), update(), delete() 및 select()와 같은 모든 CRUD 메서드를 사용할 수 있습니다. 또한 이러한 메서드를 사용하여 고유한 작업을 만들 수 있습니다. 모든 구현은 Spring Data에 의해 이루어집니다.
public interface IUserDAO extends JpaRepository<User, Long> {
User findByName(String name);
}
마지막으로... 🏁
The fastest approach is JDBC since it is the lowest level of java program and relational database. It doesn't have any levels on top of it so if you use it will be fast. However, it just has some complicity and it just adds some a lot of boilerplate code.
Also you can use a JPA and Hibernate to reduce the amount of boilerplate code and to enable mapping to show the mapping between your java program and database table.
Finally, Spring Data is the top level and you can use it just to avoid boilerplate code from Hibernate just to hide all the implementations working with database and just to focus on the level of tasks for business instead of thinking how to deal with the database.
Reference
이 문제에 관하여(Hibernate - vs JDBC vs JPA vs Spring Data JPA), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/yigi/hibernate-vs-jdbc-vs-jpa-vs-spring-data-jpa-1421텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)