【发布时间】:2012-08-29 21:24:30
【问题描述】:
我有两个实体,一个是项目,另一个是水果。我想首先作为另一个的超类来实现,并且我希望超类的所有参数都被它的子类继承。
我还希望在构建数据库时将该超类表及其所有属性绑定到子类表,即,如果我创建更多子类,我不希望所有子类都写入本应包含的值超级类。
我应该如何做到这一点?
item.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,
);
);
【问题讨论】: