JPA2——EntityManager.detach 在哪里?
Posted
技术标签:
【中文标题】JPA2——EntityManager.detach 在哪里?【英文标题】:JPA2 -- Where is EntityManager.detach? 【发布时间】:2010-05-21 06:04:09 【问题描述】:我在几个地方读到 JPA2 将支持实体管理器上的分离方法调用。我正在运行 Hibernate 3.5.1-FINAL 和 Spring 3.0.2-RELEASE 作为 Maven 依赖项——从 JBoss 存储库中获取。
这还不够吗?
也许问题出在我的 javax.persistence.EntityManager 接口定义上。我需要更新 javax 吗?如何做到这一点?
【问题讨论】:
【参考方案1】:您甚至不需要将 hibernate-jpa-2.0-api 1.0.0.FINAL 声明为依赖项,您可以从 hibernate-entitymanager 3.5.1.Final 中传递地获取它。运行 mvn dependency:tree
将确认这一点。
【讨论】:
你是对的,但我将 hibernate-entitymanager 作为运行时范围依赖项只是为了更加确定我没有任何特定于休眠的代码。因此,我需要将 api 声明为编译范围依赖项。【参考方案2】:好吧,我想通了。我的 maven 项目(在顶层)依赖于 javax.persistence persistence-api 1.0。我把它拿出来并用 hibernate-jpa-2.0-api 1.0.0.FINAL 和 viola 替换它......我已经分离了!
【讨论】:
以上是关于JPA2——EntityManager.detach 在哪里?的主要内容,如果未能解决你的问题,请参考以下文章
JPA 2.0 如何处理死锁(Eclipselink JPA2.0 MySQL)