在我的项目中,我有一个名为BaseEntity的POJO,如下所示。
class BaseEntity{
private int id;
public void setId(int id){
this.id=id;
}
public int getId(){
return id;
}
}
还有一组其他的POJO实体类,比如电影,演员,.
class Movie extends BaseEntity{
private String name;
private int year;
private int durationMins;
//getters and setters
}
我使用BaseEntity只是为了在某些接口中使用它作为位置保持器。我从来不需要存储BaseEntity对象。我必须只存储从BaseEntity扩展的实体对象。如何对这些类进行注释,以便从BaseEntity中得到每个实体的一个表。对于电影,它应该是(id,名字,年份,durationMins)。
发布于 2013-09-12 12:50:06
我在一个完全不相关的帖子里找到了答案。我只需将BaseEntity注释为@MappedSuperclass即可。下面的代码完成了我所需要的工作。
@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
}
发布于 2013-09-12 12:51:25
您可以在您的BaseEntity
上使用BaseEntity
,并让Movie
对其进行扩展。
@MappedSuperClass
class BaseEntity {
@Id
private int id;
...
}
class Movie extends BaseEntity {
...
}
发布于 2013-09-12 12:37:56
您需要的是每个具体的类策略表。在此策略中,您不需要对您的BaseEntity进行任何注释。有关更多的解释,请看一下这。
https://stackoverflow.com/questions/18764296
复制相似问题