t_gen_table表结构:
[img]http://dl.iteye.com/upload/attachment/592697/150fa59d-8349-3522-98e8-d32a38ed1a3f.jpg[/img]
person表结构:
[img]http://dl.iteye.com/upload/attachment/592699/7ce2327d-f8c6-3ecd-b0e6-d42738629ce5.jpg[/img]
teacher表结构:
[img]http://dl.iteye.com/upload/attachment/592701/cc7ffe49-71b3-3a73-a0a1-eae87ba5a995.jpg[/img]
student表结构:
[img]http://dl.iteye.com/upload/attachment/592703/90e4d3a8-aa35-34a0-93ee-8594fe3a9c22.jpg[/img]
[img]http://dl.iteye.com/upload/attachment/592697/150fa59d-8349-3522-98e8-d32a38ed1a3f.jpg[/img]
person表结构:
[img]http://dl.iteye.com/upload/attachment/592699/7ce2327d-f8c6-3ecd-b0e6-d42738629ce5.jpg[/img]
teacher表结构:
[img]http://dl.iteye.com/upload/attachment/592701/cc7ffe49-71b3-3a73-a0a1-eae87ba5a995.jpg[/img]
student表结构:
[img]http://dl.iteye.com/upload/attachment/592703/90e4d3a8-aa35-34a0-93ee-8594fe3a9c22.jpg[/img]
package entity;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.TableGenerator;
@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
@TableGenerator(
name="t_gen",
table="t_gen_table",//主键生成表名称
pkColumnName="t_pk",//第一个字段名称(主键名称:属性名)
valueColumnName="t_value",//第二个字段名称(保存上次的主键值:属性名)
pkColumnValue="person_pk",//第一个字段值(主键名称值:属性值)
initialValue=1,
allocationSize=1
)
public class Person {
private int id;
private String name;
@Id
@GeneratedValue(generator="t_gen",strategy=GenerationType.TABLE)
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
package entity;
import javax.persistence.Entity;
@Entity
public class Teacher extends Person {
private String title;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
}
package entity;
import javax.persistence.Entity;
@Entity
public class Student extends Person {
private int score;
public int getScore() {
return score;
}
public void setScore(int score) {
this.score = score;
}
}