快速业务通道

使用Apache OpenJPA开发EJB 3.0应用,第4部分: 实体关联 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
anagerFactory emf = Persistence.createEntityManagerFactory (null); EntityManager em = emf.createEntityManager (PersistenceContextType.EXTENDED); /* 开始事务 */ em.getTransaction().begin(); /* 使用查询删除对象,可以不必将对象加入到内存中,提高效率 */ Query q = entityManager.createQuery("delete from Book c WHERE  c.id=:id"); int id = book.id; /* 设置被删除 Book 对象的主键值 */ q.setParameter("id", id); /* 当方法被调用时,Book 对象对应的 BookExtend 对象会同时被删除  */ q.executeUpdate(); /* 结束事务 */ em.getTransaction().commit(); em.close(); emf.close();

使用Apache OpenJPA开发EJB 3.0应用,第4部分: 实体关联(8)

时间:2011-08-31 IBM 肖菁

其它几种关联关系

在上面的文章中我们学习了如何在 OpenJPA 中通过 javax.persistence.OneToOne 注释和 javax.persistence.JoinColumn 注释实现 实体之间的一对一关联关系。在企业应用中,除了一对一关联关系,实体之间还 可能存在一对多、多对一、多对多等关联关系,不过在 OpenJPA 容器中,这些实 体之间关联关系的实现都大同小异,只是需要开发者选择使用不同的注释。

开发者用来描述实体之间一对多关联关系的注释是 javax.persistence.OneToMany 注释,用来描述实体之间多对一关联关系的注释 是 javax.persistence.OneToMany 注释,用来描述实体之间多对多关联关系的注 释是 javax.persistence.ManyToMany 注释。这三个注释都支持 targetEntity、 mappedBy、cascade 和 fetch 这四个属性,这些属性的具体含义和 OneToOne 注 释注释的同名属性一一对应,请大家参考前面章节中的内容。

javax.persistence.OneToMany、 javax.persistence.OneToMany、 javax.persistence.ManyToMany 这三个注释都可以和 javax.persistence.JoinColumns 注释一起使用, javax.persistence.JoinColumns 注释的作用是为一对多、多对一、多对多关联 关系在数据库中的体现提供更多细节描述。javax.persistence.JoinColumns 注 释中可以包含多个 javax.persistence.JoinColumn 注释的内容, javax.persistence.JoinColumn 注释的属性请参考本文前面部分的描述。

总结

对象和对象之间除了继承关系之外,还存在着关联关系,包括一对一、一对多 、多对一和多对多的关系,本文中,作者以实体之间的一对一关联关系为例,结 合企业应用中的实际例子,详细地描述了如何在 OpenJPA 框架下通过注释简单的 描述实体和实体之间的关联关系,并且实现实体的级联操作。文章的最后简单的 介绍了 OpenJPA 中实现实体之间一对多、多对一和多对多关联关系时需要用到的 注释,这些注释的用法和描述一对一关联关系时大体一致,如何通过描述实现实 体之间一对多、多对一和多对多关联关系请大家参考本文中的内容自行完成。

原文:http://www.ibm.com/developerworks/cn/java/j-lo- openjpa4/index.html

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号