Java 如何覆盖hibernate集合联接列?
这是我抽象的父亲:Java 如何覆盖hibernate集合联接列?,java,hibernate,Java,Hibernate,这是我抽象的父亲: @MappedSuperclass public abstract class AbstractEntity implements Serializable { @OneToMany(fetch = FetchType.LAZY) @JoinColumn(name = "entity_no", referencedColumnName = "MY_COLUMN") private Set<CLASS_TYPE> list; }
@MappedSuperclass
public abstract class AbstractEntity implements Serializable {
@OneToMany(fetch = FetchType.LAZY)
@JoinColumn(name = "entity_no", referencedColumnName = "MY_COLUMN")
private Set<CLASS_TYPE> list;
}
@MappedSuperclass
公共抽象类AbstractEntity实现了可序列化{
@OneToMany(fetch=FetchType.LAZY)
@JoinColumn(name=“实体号”,referencedColumnName=“我的列”)
私有集合列表;
}
我的所有实体都有此集合,但每个实体都有不同的referencedColumnName
有没有办法只覆盖
@JoinColumn
注释?如果在属性(即getter)而不是字段上定义注释,则可以覆盖每个子类中的公共集getList()
,并分别定义@JoinColumn
。可以使用注释。在您的情况下,它将如下所示:
@Entity
@AssociationOverrides({
@AssociationOverride(name = "list",
joinColumns = @JoinColumn(referencedColumnName = "COLUMN_NEW_NAME"))
})
public class ConcreteEntity extends AbstractEntity {
}