複数の属性を持つ1つのテーブルがあります。 これらの(排他的な)属性にアクセスするための2つのクラスが必要です。Hibernateと1つのテーブルにマップされた2つのクラス
@Entity
@Table(name = "MY_TABLE")
public class Foo {
...
@Column
@NotNull
private String fooValue;
}
@Entity
@Table(name = "MY_TABLE")
public class Bar {
...
@Column
private String barValue;
...
}
基本的Bar
が読み取り専用では、テーブル内の値の一部に表示します。 Foo
は他の値を更新するために使用され、Bar
はJavaアプリケーションを使用せずに作成された他の値を表示するために使用されます。
トラブルは、私は春のデータリポジトリを使用してFoo
を保存しようとすることです:
public interface FooRepository extends JpaRepository<Foo, Long> {
}
私はfooValue
がnull
に設定されている例外を取得します。そして、ログにはfooValue
のNULL
の挿入があります。私はそれを少しデバッグし、私はFoo
の保存が再び動作しなくなるまで、Bar
を完全にプロジェクトから削除して保存します。
私にとっては、Foo
を保存しようとしても、HibernateがBar
クラスをピックアップするように見えます。どうして?
私のスタックは次のとおりです。春のブート1.5.3、春データ、5.xの休止状態
また、レイジーフェッチを使用することも考えられます。 – Rjiuk