如何在hibernate中省略/忽略超级映射类的列

时间:2017-12-07 20:47:28

标签: java hibernate

超级映射类声明为

public class Auditable extends AbstractAuditable<User, Long> {

    private static final long serialVersionUID = 1L;

    @ManyToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "STATUS__ID", nullable = false)
    private Status status;

子类扩展可审计类,但Status表不包含列名为status__id

public class Status extends Auditable {

private static final long serialVersionUID = 1L;

@Column(name = "NAME", nullable = false, length = 50, unique=true)
private String name;

有没有办法只在一个子类中省略继承的status__id列。我不想让它在超级映射类中成为瞬态,因为其他一些子类正在使用它。

我已经尝试过@AttributeOverride和@Transient但没有成功。 注意::默认情况下,访问类型在字段

上定义
@Transient
private Status status;  

@Transient
public Status getStatus() {
    return super.getStatus();
}

public void setStatus(Status status) {
    super.setStatus(status);
}

0 个答案:

没有答案