这是我当前的项目结构:
pom.xml /src /main /resources hibernate.cfg.xml /META-INF persistence.xml
我在两个文件(hibernate.cfg.xml和persistence.xml)中都有非常相似的配置参数,这看起来很奇怪,但这就是我在许多在线示例和教程中看到的。我不明白为什么我需要两个文件。是否可以只与一个人一起工作?请解释。
hibernate.cfg.xml
persistence.xml
ps。例如,我应该hibernate.dialect在两个文件中声明,还是只声明一个就足够了?如果是这样,使用哪个?
hibernate.dialect
如果您使用的是Hibernate的专有API,则需要使用hibernate.cfg.xml。如果您使用的是JPA,例如Hibernate EntityManager,则需要使用persistence.xml。
所以,你通常你用不用这两个 无论是 Hibernate的专有API或者JPA。
不过,如果你 是使用 Hibernate的专有API,而且已经有hibernate.cfg.xml(和hbm.xmlXML映射文件),但希望开始使用JPA,您可以通过引用重用现有的配置文件hibernate.cfg.xml中persistence.xml的hibernate.ejb.cfgfile财产- 因此拥有这两个文件。重用现有hbm.xml文件是IMO的现实情况,可以证明同时保留两者(即使从长远来看我可能会迁移到JPA批注)。
hbm.xml
hibernate.ejb.cfgfile