Hibernate教程04——类继承(子类、父类链接表)

Hibernate教程04——类继承(子类、父类链接表)

一、简介

每个类都生成一张表,父类保存公共数据,子类保存自己独有的数据,通过id进行关联。

父类(Animal)和子类(PigBird)均生成一张表,其中父类表中存放公共的属性,子类表中分别存放各自的属性字段,子表的主键均来自主表。如下表所示:

 

一、父类Tree和相关annotation的配置

@Entity

@Inheritance(strategy = InheritanceType.JOINED)

public class Tree {

@Id

@GeneratedValue(strategy = GenerationType.AUTO)

@Column(name = "id")

private Long id;

private String name;

private String description;

 

@ManyToOne

private Tree parent;

 

@OneToMany

private List<Tree> children;

 

public Long getId() {

return id;

}

 

public void setId(Long id) {

this.id = id;

}

 

public String getName() {

return name;

}

 

public void setName(String name) {

this.name = name;

}

 

public String getDescription() {

return description;

}

 

public void setDescription(String description) {

this.description = description;

}

 

public Tree getParent() {

return parent;

}

 

public void setParent(Tree parent) {

this.parent = parent;

}

 

 

 

public List<Tree> getChildren() {

return children;

}

 

public void setChildren(List<Tree> children) {

this.children = children;

}

}


二、子类Department

同前

三、子类menu

同前

四、测试类

同前

五、生成的表

 

 

六、表中的数据

 Hibernate教程04——类继承(子类、父类链接表)_第1张图片

图 1 数据库表department中的数据

 Hibernate教程04——类继承(子类、父类链接表)_第2张图片

图 2 数据库表menu中的数据

 

图 3 数据库表tree中的数据

 

 

你可能感兴趣的:(Hibernate教程04——类继承(子类、父类链接表))