您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

使用Spring和Hibernate时需要persistence.xml吗?

使用Spring和Hibernate时需要persistence.xml吗?

Spring 3.1将支持persistence.xml免费的JPA配置,请参阅Spring 3.1 M2:配置增强

darioo的答案适合实际使用,但在技术上不正确。

PersistenceProvider 有两种工厂方法

EntityManagerFactory createEntityManagerFactory(String emName, Map map)-对于独立环境,persistence.xml将由持久性提供程序进行解析。

EntityManagerFactory createContainerEntityManagerFactory(PersistenceUnitInfo info, Map map)-对于应用服务器环境,persistence.xml由应用服务器解析,其内容以形式传递PersistenceUnitInfo

SpringLocalContainerEntityManagerfactorybean模拟应用服务器环境。因此,它解析persistence.xml自身,将其内容与应用程序上下文中的值合并,然后使用第二个工厂方法将其传递给持久性提供程序。

但是,获取persistence.xml数据的过程是可配置的:

您可以persistence.xml使用persistenceXmlLocation属性配置文件名-避免与应用程序服务器的认JPA初始化策略冲突很有用。

您可以PersistenceUnitInfo通过设置自定义PersistenceUnitManager策略来完全覆盖来源。

因此,实际上您可以在Spring中配置JPA,而无需persistence.xml编写定制程序PersistenceUnitManager,尽管这种管理器不是开箱即用的。

Java 2022/1/1 18:13:50 有542人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶