JPA와 JDBC의 차이점은 무엇입니까?


대답 1:

JDBC는 데이터베이스에 직접 연결하고 select * from TableName 등과 같은 데이터베이스에 대해 SQL을 실행하기위한 표준 도구입니다. 사용자가 앱에서 처리 할 수있는 데이터 세트가 리턴 될 수 있으며, 업데이트, 삭제와 같은 모든 일반적인 작업을 수행 할 수 있습니다. , 삽입 프로 시저 등 대부분의 Java DBA (JPA 제공자 포함)의 기본 기술 중 하나입니다.

기존 JDBC 앱의 주요 문제 중 하나는 사용자가 로직과 SQL을 혼합하고 데이터 세트와 객체 사이에 많은 매핑이 발생하는 크 래피 코드를 가질 수 있다는 것입니다.

JPA는 객체 관계형 매핑을위한 공식 도구입니다. JPA는 사용자가 코드와 데이터베이스 테이블의 객체를 매핑 할 수있는 기술입니다. JPA는 개발자로부터 SQL을 "숨겨"Java 클래스 내에서 처리하는 모든 것을 제공 할 수 있으며, 제공자는이를 저장하고 원격으로로드 할 수 있습니다. 대부분 setter 및 getter의 XML 맵핑 파일 또는 주석을 사용하여 JPA 제공자에게 알릴 수 있습니다. 사용자 객체의 어떤 필드가 DB의 어떤 필드에 매핑되는지 최대 절전 모드는 가장 인기있는 JPA 제공 업체입니다.

OpenJPA, toplink 등을 포함한 다른 예

JPA 쓰기 SQL에 대한 최대 절전 모드 및 기타 널리 사용되는 공급자는 JDBC를 사용하여 DB에서 읽고 씁니다.

감사합니다.

당신이 내 대답을 좋아한다면 그것을 찬성하십시오.


대답 2:

초보자라면 차이점을 이해하는 것이 약간 복잡합니다. JDBC와 Hibernate의 차이점을 먼저 이해함으로써 시작해야한다고 생각합니다. 나는 JDBC가 무엇인지, 여전히 간단한 설명으로 알고 있기를 바랍니다. JDBC는 Java Database Connectivity를 나타냅니다. JDBC는 db와 연결하여 쿼리를 실행하는 Java API입니다. db와 연결하기위한 드라이버를 제공합니다. JDBC API를 사용하여 관계형 데이터베이스에 저장된 테이블 형식 데이터에 액세스 할 수 있습니다. JDBC API를 통해 데이터베이스에서 데이터를 저장, 업데이트, 삭제 및 가져올 수 있습니다.

이제 최대 절전 모드 란 무엇입니까? JDBC와는 다른 프레임 워크입니다. 사용하기 전에 Hibernate 라이브러리를 가져와야하는 반면 JDBC는 J2SE 자체의 일부입니다. Hibernate는 JDBC가 개발 된 것과 똑같은 일을하지만, Hibernate는 JDBC의 고급 레벨이라고 말할 수있다. Hibernate는 데이터베이스와 상호 작용하기위한 Java 애플리케이션의 개발을 단순화합니다. ORM 도구이므로 Java 객체를 db 테이블과 매핑합니다. Java 클래스는 db의 테이블을 나타낼 수 있습니다. 예를 들어, "emp_26"테이블을 Hibernate에서 Employee 클래스로 매핑 한 경우, 간단한 객체 지향 쿼리를 작성하여 empl_26 테이블에서 모든 직원을 가져옵니다 : "from Employee"// in Hibernate "select * from emp_26"// in JDBC.

JDBC에서 사용할 수없는 캐시, 연관 매핑, 상속 매핑, HQL, 페이지 매김과 같은 Hibernate가 제공하는 많은 기능이 있습니다.

JPA에 오면 사양이며 클래스 및 인터페이스 세트입니다. JPA는 구현할 도구가 필요하며 해당 도구는 최대 절전 모드 일 수 있습니다. JPA를 구현하면 Hibernate와 동일한 방식으로 JPA 형식으로 작업을 수행 할 수 있습니다. JPA가 댄스 인 경우에는 Hibernate 또는 댄스 스테이지를 제공하기위한 다른 도구가 필요합니다. 그건 그렇고, Hibernate가 JPA없이 춤을 출 수 없다는 것을 의미하지는 않습니다. Hibernate는 자체 춤을 가지고 있습니다.


대답 3:

JDBC는 DB에 직접 연결하고 이에 대해 SQL을 실행하기위한 표준입니다 (예 : SELECT * FROM USERS 등). 앱에서 처리 할 수있는 데이터 세트가 리턴 될 수 있으며 INSERT, DELETE, 저장 프로 시저 등 실행

전통적인 JDBC 앱의 문제 중 하나는 데이터 세트와 객체 사이에 많은 매핑이 발생하고 로직이 SQL과 혼합되는 등의 복잡한 코드를 가질 수 있다는 것입니다.

JPA는 객체 관계형 매핑의 표준입니다. 이것은 코드와 데이터베이스 테이블의 개체를 매핑 할 수있는 기술입니다. 이를 통해 개발자로부터 SQL을 "숨겨"처리 할 수있는 모든 클래스가 Java 클래스이므로 공급자는이를 저장하고 마술처럼로드 할 수 있습니다. 대부분 getter 및 setter의 XML 맵핑 파일 또는 주석을 사용하여 JPA 제공자에게 오브젝트의 어떤 필드가 DB의 어떤 필드에 맵핑되는지 알려줍니다. 가장 유명한 JPA 제공 업체는 최대 절전 모드이므로 구체적인 예제를 시작하기에 좋은 곳입니다.

다른 예로는 OpenJPA, toplink 등이 있습니다.