【发布时间】:2015-09-24 14:35:09
【问题描述】:
我有一些用 JPA 注释的 bean 来处理持久性映射。
这是一个例子:
import javax.persistence.Id;
public class User{
@Id
private String id;
public String getId(){
return id;
}
public void setId(String id){
this.id = id;
}
}
现在我想在另一个不需要依赖 javax.persistence 的项目中使用这个类,所以我宁愿不只为这些类包含它。
所以我想把这个 bean 分成两个类:一个只有字段和访问器,一个子类在访问器上带有 JPA 注释。喜欢:
public class User{
private String id;
public String getId(){
return id;
}
public void setId(String id){
this.id = id;
}
}
和
import javax.persistence.Id;
public class UserEntity extends User{
@Override
@Id
public String getId(){
return super.getId();
}
}
不幸的是,seems 在大多数情况下,将 JPA 注释放在访问器上是一种不鼓励的做法,我对此表示赞同。
您能推荐任何更清洁的解决方案吗?
【问题讨论】:
标签: java jpa annotations code-reuse reusability