@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="discriminator", discriminatorType=DiscriminatorType.STRING)//表示区分不同的对象的字段名
@DiscriminatorValue("person")//用来表示该对象是何种对象的,即区分器
public class Parent {
private int id;
private String name;
@Id
@GeneratedValue
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;
}
}
@Entity
@DiscriminatorValue("child1")
public class Child1 extends Parent {
private String email;
public String getEmail() {
return title;
}
public void setEmail(String email) {
this.email = email;
}
}
@Entity
@DiscriminatorValue("child2")
public class Child2 extends Parent {
private String address;
public String getAddress() {
return score;
}
public void setAddress(String address) {
this.address = address;
}
}
@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
@TableGenerator( //一个类一张表,最重要的是要保证它们的id由一个生成器产生,@TableGenerator就是为了控制这个的
name="t_gen",
table="t_gen_table",
pkColumnName="t_pk",
valueColumnName="t_value",
pkColumnValue="person_pk",
initialValue=1,
allocationSize=1
)
public class Parent {
private int id;
private String name;
@Id
@GeneratedValue(generator="t_gen", strategy=GenerationType.TABLE)//这个就是用表生成器生成的,用同一个生成器就可以控制它们的id不重复
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;
}
}
@Entity
public class Child2 extends Parent {
private String address;
public String getAddress() {
return score;
}
public void setAddress(String address) {
this.address = address;
}
}
@Entity
public class Child1 extends Parent {
private String email;
public String getEmail() {
return title;
}
public void setEmail(String email) {
this.email = email;
}
}
@Entity
@Inheritance(strategy=InheritanceType.JOINED)
public class Parent {
private int id;
private String name;
@Id
@GeneratedValue
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;
}
}
@Entity
public class Child2 extends Parent {
private String address;
public String getAddress() {
return score;
}
public void setAddress(String address) {
this.address = address;
}
}
@Entity
public class Child1 extends Parent {
private String email;
public String getEmail() {
return title;
}
public void setEmail(String email) {
this.email = email;
}
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有