使用Apache OpenJPA开发EJB 3.0应用,第4部分: 实体关联 - 编程入门网
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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |