我正在处理没有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>
答案 0 :(得分:4)
Hibernate是一个JPA实现,这意味着当你使用JPA时,你可以使用Hibernate,EclipseLink或任何其他实现,但你可以根据JPA规范进行编码,即使用javax.persistence.*
接口,通常避免使用特定于实现的功能(尽管仍然可以)。
如果你直接用Hibernate编码,你只会使用它的特定类(即org.hibernate.*
)和方法,并且在任何地方都没有引用javax.persistence
。
与JDBC
类似。您可以编写使用特定于驱动程序的类的代码(有时候,但通常情况下,这是您需要的正确理由),但是有些类实现了JDBC接口(Connection
,ResultSet
,{ {1}}等等。所以你可以编写常规的JDBC代码,而不必在切换到不同的数据库时再学习。