WEB开发网
开发学院软件开发Java 使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部... 阅读

使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部分: 实体继承

 2010-04-19 00:00:00 来源:WEB开发网   
核心提示: 持久化实体使用 OpenJPA 持久化实体的继承关系时,开发者只需要按照面向对象的思想操纵实体即可,使用 Apache OpenJPA 开发 EJB 3.0 应用,第 3 部分: 实体继承(8),无需为实体的继承关系作多余的工作,下面的章节中我们将了解持久化实体 Animal、Fish、Dog

持久化实体

使用 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 对象,请注意下面代码中加粗的部分。

上一页  3 4 5 6 7 8 9 10  下一页

Tags:使用 Apache OpenJPA

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接