我有两个实体,一个是项目,另一个是水果。我想首先作为另一个的超类来实现,并且我希望超类的所有参数都被它的子类继承。
我还希望在构建数据库时将该超类表及其所有属性绑定到子类表,即,如果我创建更多子类,我不希望所有子类都写入应该在超类中的值。
我应该如何实现这一目标?
项目.java
@MappedSuperclass
@DiscriminatorColumn(name="Item")
@Inheritance(strategy = InheritanceType.JOINED)
public abstract class Item implements java.io.Serializable
{
// here goes all values of the class Item
}
水果.java
@Entity
@PrimaryKeyJoinColumn(name="ART_ID")
public class Fruit extends Item implements java.io.Serializable{
// here goes proper values of this class
}
数据库.db
create table Item
(
ITEM_ID bigint not null auto_increment,
ITEM_NAME varchar(25) not null,
);
create table Fruit
(
FRUIT_DATEFROZEN date,
);
);