簡體   English   中英

在沒有JPA規范的情況下休眠如何工作

[英]how hibernate can work without JPA specification

我當時在從事沒有JPA項目,但是它使用的是Hibernate ,誰能解釋一下嗎?

項目的pom.xml

   <dependency>
       <groupId>org.hibernate</groupId>
       <artifactId>hibernate-core</artifactId>
       <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>${hibernate.version}</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-validator</artifactId>
        <version>5.1.3.Final</version>
    </dependency>

Hibernate是一個JPA實現,這意味着當您使用JPA時,您可以使用Hibernate,EclipseLink或任何其他實現,但是您將根據JPA規范進行編碼,即使用javax.persistence.*接口,通常避免使用特定於實現的代碼功能(盡管仍然可行)。

如果直接使用Hibernate進行編碼,則將僅使用其特定的類(即org.hibernate.* )和方式,而在任何地方都沒有引用javax.persistence

它類似於JDBC 您可以編寫使用特定於驅動程序的類的代碼(有時,但有一些並非經常,有這樣做的正當理由),但是有些類實現了JDBC接口( ConnectionResultSetStatement等),因此您可以編寫常規代碼切換到其他數據庫時無需再次學習的JDBC代碼。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM