java – 在Spring中使用Hibernate时,我可以摆脱persistence.xml吗?

我一直在寻找消除项目冗余代码的方法.

我正在使用Hibernate和Spring.我已经配置了Spring的JPA LocalContainerEntityManagerFactoryBean,它允许我将一堆属性传递给JPA提供程序(Hibernate),这意味着我不需要在persistence.xml文件中设置这些属性.

此外,Hibernate可以找到我的持久化类而无需在persistence.xml中实际识别它们,所以那些< class>线条也消失了.

我在persistence.xml中留下了一行:

<persistence-unit name="bigDatabase" transaction-type="RESOURCE_LOCAL"/>

有没有人知道完全消除persistence.xml的方法并将持久性单元定义移动到Spring配置文件中?我当然试过谷歌搜索,但找不到答案.

谢谢!

最佳答案 对于JPA配置,persistence.xml不是必需的.您可以使用
EntityManagerFactory.createEntityManager(map)创建实体管理器

 方法.但是
LocalContainerEntityManagerFactoryBean没有帮助用地图创建实体管理器的方法.因此,您必须扩展LocalContainerEntityManagerFactoryBean并根据您的需要覆盖某些方法.

点赞