一尘不染

使用Hibernate或JPA批注

hibernate

我在我们的项目和Hibernate Domain Pojo对象的基于注释的配置中使用Hibernate。对于基于注释的配置,我们有两个选择

  1. 使用基于JPA的注释 javax.persistence.*
  2. 使用Hibernate本机注释 org.hibernate.annotations.*

当前,我们对POJO文件使用基于JPA的注释配置,并使用Hibernate本机API(如SessionFactory,Session等)打开会话并执行数据库操作。

我有以下问题:

  1. 混合使用JPA注释和使用Hibernate本机API是否有问题?
  2. 链接说明了一个此类问题(级联-jpa-hibernate-annotation-common-mistake)
  3. 请提供您的专业知识,使用哪种类型的注释
    1. JPA
    2. hibernate原生
    3. 混合两者?

阅读 202

收藏
2020-06-20

共1个答案

一尘不染

Hibernate提供了一种JPA实现。如果您在代码中使用纯JPA,则在出现需求时可以随意更改为其他实现。例如,EclipseLink /
TopLink
OpenJPA是不同客户可能需要的实现。完整的实现列表在这里

如果您被迫使用hibernate提供的任何异国功能,而JPA规范中没有这些功能,则应在代码库中使用hibernate特定的API。hibernate论坛的相关讨论在这里

2020-06-20