如何配置hibernate?
如果hibernate-entitymanager包用于JPA那么hibernate-jpa包有什么用处。我已经看到他们使用org.hibernate.ejb.HibernatePersistence
类用于persistence.xml中的JPA提供程序,它位于hibernate-entitymanager包中。
在某些情况下,我没有在persistence.xml
中看到提供商标记。在这种情况下使用哪个类? Session
类是否有EntityManager
或实现它。并且没有一个hibernate bean直接在Spring应用程序上下文文件中指定。而是使用spring.orm
个包。所以spring框架选择哪个类用于JPA功能。
org.springframework.orm.jpa.LocalEntityManagerFactoryBean
选择了哪个bean,如果指定了provider标记,并且未指定provider标记哪个bean被选中?
答案 0 :(得分:0)
Hibernate JPA是标准的JPA实现。另见关于差异的其他问题。
Session和EntityManager大致相同。 EntityManager是“新方式”。
我不清楚您对persistence.xml文件的疑问。
答案 1 :(得分:0)
感谢您的回复,但我的问题是jpa实现实际上是在哪个包中。它是在hibernate entitymanager.jar还是hibernate-jpa2.1.jar中。我发现这个不起眼的链接没什么用处 。https://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/4/html/ch01s02s01.html
但在这种情况下,persistence.xml文件包含org.hibernate.ejb.HibernatePersistence作为jpa提供程序,但此类在hibernate-entitymanager包中。但是他们还告诉hibernate-jpa-2.0-api.jar是包含JPA 2.0 API的JAR,它提供了规范定义为公共API的所有接口和具体类。换句话说,您可以使用此JAR来引导任何JPA提供程序实现。在这个沉闷的链接中 https://docs.jboss.org/hibernate/entitymanager/3.5/reference/en/html/configuration.html请一位有人帮助我