快速业务通道

使用Apache OpenJPA开发EJB 3.0应用,第6部分:处理实体生命周期事件的回调 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
reUpdate方法处理实体生命周期中的 PreUpdate[实体状态写入数据库之前]事件 63.   */ 64.   @PreUpdate 65.  public void logPreUpdate() { 66.    System.out.println("Animal[" + id + "," + name + "] 将很快被持 久化到数据库中。"); 67.  } 68. 69.  /** 70.    * logPostUpdate方法处理实体生命周期中的PostUpdate[实体状态写入数据库 之后]事件 71.   */ 72.  @PostUpdate 73.  public  void logPostUpdate() { 74.   System.out.println("Animal[" +  id + "," + name + "] 已经被持久化到数据库中。"); 75.   } 76. 77.  /** 78.   * logPreRemove方法处理实体 生命周期中的PreRemove[实体被删除之前]事件 79.   */ 80.   @PreRemove 81.  public void logPreRemove() { 82.    System.out.println("Animal[" + id + "," + name + "] 将从数据库 中删除。"); 83.  } 84. 85.  /** 86.   *  logPostRemove 方法处理实体生命周期中的 PostRemove [实体被删除之后]事 件 87.   */ 88.  @PostRemove 89.  public void  logPostRemove() { 90.   System.out.println("Animal[" + id +  "," + name + "] 已经从数据库中删除。"); 91. }

使用Apache OpenJPA开发EJB 3.0应用,第6部分:处理实体生命周期事件的回调(4)

时间:2011-08-31 IBM 肖菁

我们可以使用下面的客户端代码完成实体的增加、查找、修改、 删除工作:

清单 2. 实现实体的增加、查找、修改、删除的代码

1. // 通过Persistence创建EntityManagerFactory 2.  EntityManagerFactory factory =  Persistence.createEntityManagerFactory( 3.   "jpa-unit",  System.getProperties()); 4. 5. // 从EntityManagerFactory中 创建EntityManager 6. EntityManager em =  factory.createEntityManager(); 7. 8. // 开始持久化实体的事 务 9. em.getTransaction().begin(); 10. 11. /* 创建新 的Animal对象 */ 12. Animal animal = new Animal(); 13.  /* 设置对象属性 */ 14. animal.setId(1); 15.  animal.setName("小狗"); 16. 17. /* 持久化Animal对象 */ 18. em.persist(animal); 19. 20. // 提交持久化实体的事务 21. em.getTransaction().commit(); 22. 23. // 关闭 EntityManager 24. em.close(); 25. 26. // 创建新的 EntityManager 27. EntityManager em2 =  factory.createEntityManager(); 28. em2.getTransaction().begin (); 29. // 查找Animal对象 30. Animal animal1 =  em2.find(Animal.class, 1); 31. // 修改实体信息  32.  animal1.setName("小猫"); 33. // 保存更新后的实体  34.  em2.merge(animal1); 35. em2.getTransaction().commit(); 36.  // 关闭EntityManager和EntityManagerFactory 37. em2.close(); 38. 39. // 创建新的EntityManager 40. EntityManager em3  = factory.createEntityManager(); 41. em3.getTransaction ().begin(); 42. // 查找Animal对象 43. Animal animal2 =  em3.find(Animal.class, 1); 44. 45. // 删除Animal对象 46. em3.remove(animal2); 47. em3.getTransaction().commit(); 48. // 关闭EntityManager和EntityManagerFactory 49. em3.close (); 50. 51. factory.close();

使用Apache OpenJPA开发EJB 3.0应用,第6

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号