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