我有一个具有多个属性的表。 我想要有两个类来访问这些(独占)属性。休眠和两个类映射到单个表
@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应用程序创建的)。
麻烦的是,当我尝试使用Spring的数据存储库,以节省Foo
:
public interface FooRepository extends JpaRepository<Foo, Long> {
}
我得到异常fooValue
设置为null
。我在日志中看到为NULL
。我调试了一下,当我完全从项目中删除Bar
保存工程,当我再次添加保存Foo
停止工作。
因此,对我来说,即使在我试图保存Foo
时,看起来Hibernate也会拿起Bar
类。为什么?
我的堆栈是:春天引导1.5.3,春季数据,Hibernate的5.x的
另外,你可能会考虑只使用懒惰抓取:) – Rjiuk