覆盖@JoinColumn可空值

时间:2014-03-04 15:56:03

标签: java hibernate annotations

我有很多映射实体,所有这些实体都来自抽象类BaseEntityImpl

在本课程中,我有1个属性公司,注释如下:

@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name = "id_company", nullable = false)
public Company getCompany() {
    return company;
}

只有一个子类(确切地说Company),我希望这个属性是NULLEABLE。

但是重写了二传手

@ManyToOne(fetch=FetchType.EAGER)
@JoinColumn(name = "id_company", nullable = true)
@Override
public Company getCompany() {
    return company;
}

让我知道这个错误:

引起:org.hibernate.MappingException:ar.com.test.entity.Company中找到的公司的重复属性映射

有没有办法,除了没有扩展到这个类,并在Company类中明确定义所有属性/ getter / setter来实现这个目标?

非常感谢你!

1 个答案:

答案 0 :(得分:0)

您是否尝试过查看@AssociationOverride

@Entity
@AssociationOverride(name="company",
                     joinColumns=@JoinColumn(name="id_company", nullable=true))
public class Company extends BaseEntityImpl {
   ....
}