使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部分: 实体继承
2010-04-19 00:00:00 来源:WEB开发网持久化实体
使用 OpenJPA 持久化实体的继承关系时,开发者只需要按照面向对象的思想操纵实体即可,无需为实体的继承关系作多余的工作。下面的章节中我们将了解持久化实体 Animal、Fish、Dog 时开发者需要完成的工作以及 OpenJPA 转化后在关系数据库中的实现细节。
持久化 Animal
我们可以使用下面的代码段来持久化一个新的 Animal 对象:
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. // 使用相同的方式持久化实体
12. em.persist(new Animal(1,"honey"));
13.
14. // 提交持久化实体的事务
15. em.getTransaction().commit();
16.
17. // 关闭EntityManager
18. em.close();
当我们执行这段代码时,OpenJPA 会将它转化为关系数据库对应的 SQL 语句:
INSERT INTO Animal (id, name) VALUES (1, 'honey')
[注] 如果您还不知道如何使用 OpenJPA 持久化对象,请阅读 本系列 前面的文章,了解 OpenJPA 开发的基本知识。
持久化 Fish
Fish 对象的持久化和 Animal 实体的持久化过程没有任何的不同,只不过 persist 方法的参数变成了 Fish 对象。我们可以使用下面的代码段来持久化一个新的 Fish 对象,请注意下面代码中加粗的部分。
- ››使用linux中的quota教程
- ››apache设置域名绑定 以及绑定不起作用的排查
- ››使用jxl生成带动态折线图的excel
- ››apache rewrite将指定URL转向指定的几个服务器
- ››使用mysql mysqldump进行数据库迁移
- ››使用jquery是新tab形式
- ››使用QUnit进行Javascript单元测试
- ››使用UITextFieldDelegate来隐藏键盘
- ››使用公式提取Excel中的日期后发现格式不对
- ››使用SQL Azure 的BI 解决方案
- ››使用PLSQL Developer工具导出sql文件
- ››使用双缓冲技术实现Android画板应用
更多精彩
赞助商链接