我有一个EJB,我想用于两个表。除了其中一个表中的一些附加列外,这两个表具有相同的列。如何使用javax.persistence.Table提供的@Table注释来完成它。我不希望使用@secondaryTable重新映射列,因为它们具有相同的名称。如果有任何方法可以实现这一点,请告诉我。
答案 0 :(得分:0)
如果我理解得很好,你需要@MappedSuperclass注释。
我正在复制here中的示例。
创建将包含两个表都具有的公共列的超类:
@MappedSuperclass
public class GenericCommonTable {
private String address;
public Address getAddress() { ... }
public void setAddress(Address addr) { ... }
}
添加共享相同列的2个具体表:
@Entity
public class ConcreteTableOne extends GenericCommonTable {
//your xtra columns here
}
@Entity
public class ConcreteTableTwo extends GenericCommonTable {
//your xtra-columns here
}
希望有所帮助