繁体   English   中英

为什么我不能覆盖和注释实体映射的getter方法?

[英]Why can I not override and annotate a getter method for entity mapping?

给定此类:

@MappedSuperclass
public abstract class AbstractEntity {

    int id;
    public void setId(int id) { this.id = id; }
    public int getId() { return id; }

    // other mappings
}

我想定义一个实体:

@Entity
public class SomeEntity extends AbstractEntity {

    @Override
    @Id // or @OneToOne etc.
    public int getId() { return id; }
}

但这失败,并在SomeEntity上出现“未指定标识符”(或“无法确定类型”)错误。 如果我从超类中删除吸气剂,它将起作用。 我不能执行此替代策略吗? 为什么不呢?或者,如果可以,怎么办?

新增中

@AttributeOverride(name = "id", column = @Column(name = "ID"))

子类不会更改错误。

要创建实体类,必须满足该类的要求。 例如 必须具有公共/私有构造函数。

以下是要求列表:

http://docs.oracle.com/javaee/5/tutorial/doc/bnbqa.html

希望这可以帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM