子类中的休眠可嵌入类

时间:2018-11-29 18:06:00

标签: java hibernate inheritance

我的班级层次结构如下

@Embeddable
public class SomeColumns implements Serializable {
    @Column(name = "a", insertable=false, updatable=false)
    private String a;

    @Column(name = "b", insertable=false, updatable=false)
    private String b;
}

public interface SomeCols {
    SomeColumns getSomeColumns();

    void setSomeColumns(SomeColumns someColumns);
}

@Entity
@Table(name = "Table1", schema = "tab")
public class Table1 implements SomeCols, Serializable {
      @Embedded
      private SomeColumns someColumns;

      public getSomeColumns() {
         return someColumns;
      }

      public void setSomeColumns(SomeColumns someColumns) {
          this.someColumns = someColumns;
      }
  }

@Entity
@Table(name = "Table2", schema = "tab")
public class Table2 extends Table1 {
    ..............
}

两个表Table1和Table2都有自己的列a和b,它们应彼此独立。通过这种结构,我看到了两个问题:

1)a和b的子Table2值可能与我不想的父Table1的a和b相同。

2)尽管a和b是只读列,但事实证明我可以在表2中对其进行更改。

有更好的方法吗?

0 个答案:

没有答案