JDBC와 Hibernate의 차이점
JDBC vs. Hibernate
Java Database Connectivity (JDBC라고도 함)는 Java 프로그래밍 언어 용으로 특별히 제작 된 API입니다.. 데이터베이스에서 데이터를 쿼리하고 업데이트하는 방법을 제공하여 클라이언트가 데이터베이스에 액세스하는 방법을 정의합니다. 관계형 데이터베이스에보다 중점을두고 있습니다. 이 제품은 Java 2 Platform, Standard Edition, 버전 1. 1 (또는 J2SE)의 일부로 처음 출시되었습니다. 참조 구현 JDBC와 함께 ODBC 브리지에 번들되어 JVM 호스트 환경에서 ODBC 액세스 가능 데이터 소스에 대한 API와의 연결을 가능하게합니다.
Hibernate는 자바 언어를 위해 특별히 제작 된 객체 지향 매핑 라이브러리 (또는 ORM 라이브러리)이다. 객체 지향 도메인 모델을 전통적인 관계형 데이터베이스에 매핑하기위한 프레임 워크를 제공합니다. 또한 객체 관계형 임피던스 불일치 문제, 즉 객체 지향 프로그래밍 언어 또는 스타일로 작성된 프로그램에서 관계형 데이터베이스 관리 시스템 (RDBMS)을 사용하는 문제를 해결합니다. 직접 영속성 관련 데이터베이스 액세스를 높은 수준의 처리 기능으로 대체하여이 작업을 수행합니다. 무료 오픈 소스 소프트웨어이며 GNU 약소 일반 공중 사용 허가서 (GNU Lesser General Public License)에 따라 배포됩니다.JDBC는 여러 가지 구현이 존재하고 동일한 응용 프로그램에서 사용할 수있게하여 작동합니다. 올바른 Java 패키지가 JDBC 연결을 작성하는 연결 팩토리로 사용되는 JDBC 드라이버 관리자로 동적으로로드되고 등록되는 메커니즘을 제공합니다. 이러한 연결은 명령.의 작성 W 실행을 지원합니다. 갱신 명령문 (예: CREATE, REPLACE, UPDATE 및 DELETE SQL) 일 수 있습니다. 또한 SELECT와 같은 쿼리 문일 수 있습니다. JDBC 연결은 저장 프로 시저 (즉, 데이터베이스 데이터 사전에 저장된 프로 시저)를 호출 할 수도 있습니다.
Hibernate는 주로 Java 클래스에서 데이터베이스 테이블로 매핑 할뿐만 아니라 Java 데이터 형식에서 SQL 데이터 형식으로 매핑하는 기능을 수행합니다. 또한 데이터 쿼리 및 검색 기능을 제공합니다. SQL 호출을 생성 할 수 있으므로 개발자는 수동 결과 집합 처리 및 객체 변환을 덜어줍니다. 이렇게하면 응용 프로그램이 라이브러리를 통해 지원되는 모든 SQL 데이터베이스로 이식 가능합니다. XML 파일 (Hibernate가 영속 클래스들에 대한 스켈레톤 소스 코드를 생성 할 수 있음)을 구성하거나 Java Annotation을 사용하여 자바 클래스를 데이터베이스 테이블에 매핑한다. Hibernate는 또한 세 가지 특정 시나리오를 가능하게하는 커스텀 값 타입의 매핑을 지원한다: 컬럼을 프로퍼티에 매핑 할 때 Hibernate가 선택한 디폴트 SQL 타입을 오버라이드하고; Java Enum을 일반 속성 인 것처럼 열에 매핑합니다. 단일 속성을 여러 열로 매핑하는 것입니다.요약:
1. JDBC는 클라이언트가 데이터베이스에 액세스하는 f}을 정의하는 API입니다. Hibernate는 객체 지향 도메인 모델을 전통적인 관계형 데이터베이스로 매핑하기위한 프레임 워크를 제공하는 ORM 라이브러리이다. 2. JDBC는 다양한 구현이 존재하도록하고 동일한 애플리케이션에 의해 사용된다. Hibernate는 자바 클래스에서 데이터베이스 테이블로 매핑한다.