一尘不染

Hibernate的两个配置文件的用途是什么?

hibernate

这是我当前的项目结构:

pom.xml
/src
  /main
    /resources
      hibernate.cfg.xml
      /META-INF
        persistence.xml

我在两个文件(hibernate.cfg.xmlpersistence.xml)中都有非常相似的配置参数,这看起来很奇怪,但这就是我在许多在线示例和教程中看到的。我不明白为什么我需要两个文件。是否可以只与一个人一起工作?请解释。

ps。例如,我应该hibernate.dialect在两个文件中声明,还是只声明一个就足够了?如果是这样,使用哪个?


阅读 303

收藏
2020-06-20

共1个答案

一尘不染

如果您使用的是Hibernate的专有API,则需要使用hibernate.cfg.xml。如果您使用的是JPA,例如Hibernate
EntityManager,则需要使用persistence.xml

所以,你通常你用不用这两个 无论是 Hibernate的专有API或者JPA。

不过,如果你 是使用
Hibernate的专有API,而且已经有hibernate.cfg.xml(和hbm.xmlXML映射文件),但希望开始使用JPA,您可以通过引用重用现有的配置文件hibernate.cfg.xmlpersistence.xmlhibernate.ejb.cfgfile财产-
因此拥有这两个文件。重用现有hbm.xml文件是IMO的现实情况,可以证明同时保留两者(即使从长远来看我可能会迁移到JPA批注)。

参考文献

2020-06-20