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

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

 2010-04-19 00:00:00 来源:WEB开发网   
核心提示: 1.packagechapter04.entity;2.importjavax.persistence.Entity;3.importjavax.persistence.Id;4.importjavax.persistence.Inheritance;5.importjavax.persiste

1. package chapter04.entity; 
 
2. import javax.persistence.Entity; 
3. import javax.persistence.Id; 
4. import javax.persistence.Inheritance; 
5. import javax.persistence.InheritanceType; 
6. 
7. @Entity 
8. @Inheritance(strategy = InheritanceType.JOINED) 
9. public class Animal { 
10. @Id 
11. private int id; 
12. 
13. private String name; 
14. 
15. public Animal() { 
16. } 
17. 
18. public Animal(int id, String name) { 
19.  this.id = id; 
20.  this.name = name; 
21. } 
22. 
23. public int getId() { 
24.  return id; 
25. } 
26. 
27. public void setId(int id) { 
28.  this.id = id; 
29. } 
30. 
31. public String getName() { 
32.  return name; 
33. } 
34. 
35. public void setName(String name) { 
36.  this.name = name; 
37. } 
38. 
39. } 

实体类 Fish

实体类 Fish 是 Animal 的子类,因此它必须继承自 Animal。同时根据 OpenJPA 的要求,每一个实体必须使用 javax.persistence.Entity 进行注释,因此在 Fish 类声明之前提供 javax.persistence.Entity 注释。

清单 2 Fish.java, 继承关系中的子类

1. package chapter04.entity; 
2. 
3. import javax.persistence.Entity; 
4. 
5. @Entity 
6. public class Fish extends Animal { 
7. /* 鱼的活动范围,比如江、河、湖、海 */ 
8. private String territory; 
9. 
10. public Fish() { 
11. } 
12. 
13. public Fish(int id, String name, String territory) { 
14.  super(id, name); 
15.  this.territory = territory; 
16. } 
17. 
18. public String getTerritory() { 
19.  return territory; 
20. } 
21. 
22. public void setTerritory(String territory) { 
23.  this.territory = territory; 
24. } 
25. 
26. } 

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

Tags:使用 Apache OpenJPA

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