这是我的抽象父亲:

@MappedSuperclass
public abstract class AbstractEntity implements Serializable {

    @OneToMany(fetch = FetchType.LAZY)
    @JoinColumn(name = "entity_no", referencedColumnName = "MY_COLUMN")
    private Set<CLASS_TYPE> list;
}

我所有的实体都有此集合,但是每个实体都有不同的referencedColumnName

有没有一种方法可以只覆盖@JoinColumn注释?

最佳答案

您可以使用AssociationOverride批注。在您的情况下,它看起来像这样:

@Entity
@AssociationOverrides({
   @AssociationOverride(name = "list",
      joinColumns = @JoinColumn(referencedColumnName = "COLUMN_NEW_NAME"))
})
public class ConcreteEntity extends AbstractEntity {

}

关于java - 如何重写 hibernate 集合联接列?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13026969/

10-10 10:56