我一直在寻找消除项目冗余代码的方法.
我正在使用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并根据您的需要覆盖某些方法.