首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用基实体的Hibernate注释

使用基实体的Hibernate注释
EN

Stack Overflow用户
提问于 2013-09-12 12:28:32
回答 3查看 7K关注 0票数 14

在我的项目中,我有一个名为BaseEntity的POJO,如下所示。

代码语言:javascript
运行
复制
class BaseEntity{
    private int id;
    public void setId(int id){
        this.id=id;
    }
    public int getId(){
        return id;
    }
}

还有一组其他的POJO实体类,比如电影,演员,.

代码语言:javascript
运行
复制
class Movie extends BaseEntity{
    private String name;
    private int year;
    private int durationMins;
    //getters and setters
}

我使用BaseEntity只是为了在某些接口中使用它作为位置保持器。我从来不需要存储BaseEntity对象。我必须只存储从BaseEntity扩展的实体对象。如何对这些类进行注释,以便从BaseEntity中得到每个实体的一个表。对于电影,它应该是(id,名字,年份,durationMins)。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-12 12:50:06

我在一个完全不相关的帖子里找到了答案。我只需将BaseEntity注释为@MappedSuperclass即可。下面的代码完成了我所需要的工作。

代码语言:javascript
运行
复制
@MappedSuperclass
class BaseEntity {
    @Id
    private int id;
    //getters and setters.
}
@Entity
class Movie extends BaseEntity {
    @Column
    private String name;
    @Column
    private int year;
    @Column
    private int durationMins;
    //getters and setters
}
票数 32
EN

Stack Overflow用户

发布于 2013-09-12 12:51:25

您可以在您的BaseEntity上使用BaseEntity,并让Movie对其进行扩展。

代码语言:javascript
运行
复制
@MappedSuperClass
class BaseEntity {
    @Id
    private int id;
    ...
}

class Movie extends BaseEntity {
    ...
}
票数 6
EN

Stack Overflow用户

发布于 2013-09-12 12:37:56

您需要的是每个具体的类策略表。在此策略中,您不需要对您的BaseEntity进行任何注释。有关更多的解释,请看一下

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18764296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档