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

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

 2010-04-19 00:00:00 来源:WEB开发网   
核心提示: 1.//通过Persistence创建EntityManagerFactory2.EntityManagerFactoryfactory=Persistence.createEntityManagerFactory(3."jpa-unit",System.getPropert

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 Fish(2,"mermaid","SEA")); 
13. 
14. // 提交持久化实体的事务 
15. em.getTransaction().commit(); 
16. 
17. // 关闭EntityManager 
18. em.close(); 

由于 Fish 对象的属性保存在两个表中,因此当我们执行这段代码时,OpenJPA 会将它转化为对应的两条 SQL 语句:

INSERT INTO Animal (id, name) VALUES (2, 'mermaid') 
INSERT INTO Fish (id, territory) VALUES (2, 'SEA') 

持久化 Dog

持久化 Dog 对象和持久化 Fish 对象的过程几乎一样,区别是 persist 方法的参数变成了 Dog 对象。

em.persist(new Dog(3,"ba guai","MALE"));

和持久化 Fish 对象时一样,Dog 对象的属性也保存在两个表中,因此当我们执行这段代码时,OpenJPA 会将它转化为对应的两条 SQL 语句:

INSERT INTO Animal (id, name) VALUES (3, 'ba guai') 
INSERT INTO Dog (id, sex) VALUES (3, 'MALE') 

从数据库中查询实体对象

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

Tags:使用 Apache OpenJPA

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