enity bean生成了序列id(oracle主键)。我们需要以某种方式捕获此序列,并将其设置为另一个字段。例如:
class Entity {
@Id long id;
@Column long parentId;
}
这个想法是让parentId与oracle生成的id相同,如果它是空的。例如:
@PrePersist
void prePersist() {
if (parentId = 0) parentId = id; // but id is not yet generated
}
目前我们使用DB触发器来实现这一点,但这可以在JPA中完成(最好没有特定于hibernate的类)吗?
答案 0 :(得分:1)
当我们在JPA中保留一些entity
时,我们的entity
对象会被管理,并且此时应填充id
。由于它是关于预先存在的,而不是后期持续存在,因此您不会填充您的ID。