【发布时间】:2014-07-07 15:29:38
【问题描述】:
假设我有以下 POJO 类
public class Example {
private String name;
private int id;
private Object o;
// more fields
// getter/Setter
现在假设我想使用 JPA 持久化我的实体,我将使用以下示例 POJO 类:
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "ID")
private int id;
@OneToMany(mappedBy = "directive")
private String name;
在我看来,这很糟糕,因为如果我想使用例如Spring Data MongoDB 的注释将是无用的/错误的。
我能想到避免这种情况的唯一原因是定义一个接口或一个抽象类,例如 Storable,它定义了 getter/setter 方法。
但是我违反了 POJO 的定义(可以说它一开始就不是 Pojo)。
是否有定义模型类的最佳实践?
【问题讨论】:
-
我确定有一些。最佳实践,就是这样。您是否正在寻求一种编写任何库都可以普遍持久化的 Java 类的方法?我不确定这是一个现实的期望。
-
是的,这正是我想到的。
-
@haßehueck 你有没有关于这个问题的新发现?你选择了哪种方法?模型类中的 xml、dto 或 JPA 注释?
标签: java spring hibernate mongodb jpa