Hibernate встраиваемый класс в дочерних классах - PullRequest
0 голосов
/ 29 ноября 2018

У меня есть следующая иерархия классов

@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, которые должны быть независимы друг от друга.Хотя с этой конструкцией я вижу 2 проблемы:

1) Возможно, что значения дочерней таблицы Table2 для a и b будут такими же, как значения a и b родительской таблицы Table1, чего я не хочу.

2) Несмотря на то, что a и b являются столбцами только для чтения, оказывается, я могу изменить их в таблице 2.

Есть ли лучший способ сделать это?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...