我的班级层次结构如下
@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中对其进行更改。
有更好的方法吗?