Java持久性实体是否应该将常用父级作为常规对象?

时间:2012-01-11 14:13:56

标签: java persistence

我正在清理一些代码,并且我有一个实体,它实现了很多相同的行为。我应该将这种行为合并到一个既继承又有理由将它们分开的父母中?

(实体和普通类之间也有一些数据传输,如果我可以转发到一个可以在它们之间传递数据的方法,那么这将更容易)

另外如何处理共享变量的数据库特定添加?

例如,在下面的代码中,我应该创建一个类MyBase并将prop1及其getter和setter提取到MyBase类,然后使用MyObjectMyObjectEntity都延伸MyBase

正常:

public class MyObject {
    private String prop1;

    public MyObject() {}

    public String getProp1() {
       return prop1;
    }

    public void setProp1(String prop1) {
       this.prop1 = prop1;
    }

    public void doSomethingNormal() {
       //Do something normal
    }
}

实体:

@Entity
public class MyObjectEntity
{
    @Column(unique = true, nullable = false)
    private String prop1;

    public MyObjectEntity() {}

    public String getProp1() {
       return prop1;
    }

    public void setProp1(String prop1) {
       this.prop1 = prop1;
    }
    public void doSomethingEntity() {
       //Do something entity like
    }
}

1 个答案:

答案 0 :(得分:0)

我最终无法做到这一点,因为它导致我的旧序列化对象出现问题,并在课堂上尽可能多地重新考虑因素。