六、实体合并方法
脱管实体在数据库中有一个持久化的标识符,但是不在当前的persistence contex中。这种状况是有可能存在的,比如如果你通过先前的串行化文件创建了一个 Player,或者你既没有清楚,也没有关闭实体管理器。那么你可以更新这个实体,或者通过 merge 方法来将它合并到 persistence context中去。
下面的代码演示了如何改变脱管实体 Team的比赛任务。 一旦你调用实体管理器的 clear 方法,Player实体就从 persistence context脱管出去了。同样,当你使用 close方法关闭实体管理器的时候,实体也会被脱管。虽说脱管的实体仍然在数据库中,但是实体管理器已经不在能激活管理它们了。
保留:: http://www.qqread.com/java/2007/11/w381045.html // The EntityManager, em, already exists for this example. ... // We just happen to know that '5' is one of the // player identifiers. You shouldn't normally hard-code this // into any application. Player p = em.find(Player.class, 5L); em.clear(); // p is now detached for the convenience of this example Team t = new Team("Ventura Surfers", "National"); p.setTeam(t); em.getTransaction().begin(); Player managedPlayer = em.merge(p); em.getTransaction().commit();
merge 命令使得被脱管的对象重返受管制的状态。另外,该命令返回了该实体的一个管制的副本。
相关图文阅读
频道图文推荐
健 康 咨 询
时 尚 咨 询
相关专题
- Java环境安装配置 (5668篇文章)
- Java编程开发手册 (8321篇文章)
- Java API (108篇文章)
- 精通Hibernate之映射继承关系(四) (0次浏览)
- 何不将Java与.NET合二为一? (0次浏览)
- Hibernate的JNDI名称绑定分析 (0次浏览)
- 精通Hibernate之映射继承关系(一) (0次浏览)
- 精通Hibernate之映射继承关系(二) (0次浏览)
- 美国计算机教授语出惊人:Java对学生有害 (0次浏览)
- JDK 6 JRE 6 Update 4 (0次浏览)
- 三步教你改善Java代码质量 (0次浏览)
- Java语言入门 简述Java语言回收机制 (0次浏览)
- 2008年Java开发者最迫切的五个期望 (0次浏览)



