@Entity
@Inheritance(strategy=InheritanceType.SINGLE_TABLE)
@DiscriminatorColumn(name="animalType")
@DiscriminatorValue("animal")
public class Animal {
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("cat")
public class Cat extends Animal {
private String catName;
public String getCatName() {
return catName;
}
public void setCatName(String catName) {
this.catName = catName;
}
}
@Test
public void testAnimal(){
Animal t = new Animal();
t.setName("animal");
session.saveOrUpdate(t);
}
@Test
public void testCat(){
Cat t = new Cat();
t.setName("cat");
t.setCatName("cat");
session.saveOrUpdate(t);
}