【发布时间】:2015-03-11 11:18:12
【问题描述】:
我使用 Hibernate 并希望通过实体标识符查询实体。但是,似乎不可能在子类型上使用自然 id。我有两个类 A 和 B,其中 B 扩展 A:
class A {
long id;
}
class B extends A {
String naturalId;
}
A 在 Hibernate 中使用自己的标识符进行映射。 B 被映射为连接的子类。但是,在 Hibernate 中无法映射 B 的自然标识符,因为 B 的映射是子类映射。
为什么不能在子类
B上有一个自然标识符?请注意,我不希望 Hibernate 生成我的数据库架构,我只想拥有自然 id 以实现快速缓存命中。-
有没有办法/最佳实践在子类型上使用自然 id 以进行快速二级缓存查询?
- 当自然 ID 在极少数情况下可能会更新(更改)并且必须在集群 Java EE 环境中维护缓存时,这是否仍然可行?
【问题讨论】:
标签: java hibernate caching jpa natural-key