我一直在寻找消除项目冗余代码的方法。
我在Spring中使用Hibernate。我已经配置了Spring的JPA LocalContainerEntityManagerFactoryBean,它允许我将一堆属性传递给JPA提供程序(Hibernate),这意味着我不需要在persistence.xml文件中设置这些属性。
此外,Hibernate可以找到我的持久化类而无需在persistence.xml中实际识别它们,所以那些< class>线条也消失了。
我在persistence.xml中留下了一行:
<persistence-unit name="bigDatabase" transaction-type="RESOURCE_LOCAL"/>
有没有人知道完全消除persistence.xml的方法并将持久性单元定义移动到Spring配置文件中?我当然试过谷歌搜索,但找不到答案。
谢谢!
答案 0 :(得分:2)
persistence.xml
对于JPA配置不是必需的。您可以使用EntityManagerFactory.createEntityManager(map)创建实体管理器
方法。但是LocalContainerEntityManagerFactoryBean
没有帮助用地图创建实体管理器的方法。所以你必须扩展LocalContainerEntityManagerFactoryBean
并根据你的需要覆盖一些方法。