快速业务通道

使用Apache OpenJPA开发EJB 3.0应用,第2部分:开发第一个Open JPA应用 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
enJPA的帮助文档. 71.  * 72.  * 由于查询不需要事务的支持,因此Query操作的前后没有出现begin 、commit方法的调用 73.  * 74.  */ 75.  Query q = em  76.  .createQuery("select animal from Animal animal where  animal.name like ''%" |-------10--------20--------30--------40--------50--------60-------- 70--------80--------9| |-------- XML error: The previous line is longer than the  max of 90 characters ---------| 77.    + name + "%'' ESCAPE ''''"); 78.  List<Animal> l = q.getResultList(); 79.  // 关闭EntityManager 80.  em.close(); 81.  // 关闭EntityManagerFactory 82.  factory.close(); 83. 84.  return l; 85. } 86. 87. /** 88.  * getAnimalByPrimaryKey 方法可以查找符合条件的单个Animal对象 ,    * 如果不存在对应的Animal对象将返回null 89.  * 90.  * @param id 91.  *      Animal对象的编号 92.  * @return 唯一符合条件的Animal对象 93.  * 94.  */ 95. public Animal getAnimalByPrimaryKey(int id) { 96.  // 获取EntityManagerFactory 97.  EntityManagerFactory factory = Persistence 98.   .createEntityManagerFactory("mysql"); 99.  // 获取EntityManager 100.  EntityManager em = factory.createEntityManager(); 101. 102.  // 查找符合条件的对象 103.  Animal animal = em.find(Animal.class, id); 104. 105.  // 关闭EntityManager 106.  em.close(); 107.  // 关闭EntityManagerFactory 108.  factory.close(); 109. 110.  return animal; 111. } 112. 113. /** 114.  * 将对象持久化到数据库中 115.  * 116.  * @param animal 117.  *      需要被持久化的对象 118.  */ 119. public void persistAnimal(Animal animal) { 120.  // 获取EntityManagerFactory 121.  EntityManagerFactory factory = Persistence 122.   .createEntityManagerFactory("mysql"); 123.  // 获取EntityManager 124.  EntityManager em = factory.createEntityManager(); 125.  // 开始事务处理 126.  em.getTransaction().begin(); 127. 128.  // 持久化对象 129.  em.persist(animal); 130. 131.  // 提交事务  132.  em.getTransaction().commit(); 133.  // 关闭EntityManager 134.  em.close(); 135.  // 关闭EntityManagerFactory 136.  factory.close(); 137. } 138. 139. /** 140.  * 将Animal对象被更新的属性持久化到数据库中 141.  * 142.  * @param animal 143.  *      被更新过的Animal对象 144.  */ 145. public void updateAnimal(Animal animal) { 146.  // 获取EntityManagerFactory 147.  EntityManagerFactory factory = Persistence 148.   .createEntityManagerFactory("mysql"); 149.  // 获取EntityManager 150.  EntityManager em = factory.createEntityManager(); 151.  // 开始事务处理 152.  em.getTransaction().begin(); 153. 154.  // 更新持久化对象状态  155.  em.merge(animal); 156. 157.  // 提交事务  158.  em.getTransaction().commit(); 159.  // 关闭EntityManager 160.  em.close()

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