我有一个实体与其他实体进行了oneToone映射。 示例
EntityA
{
@OneToOne(cascade = CascadeType.DETACH)
@JoinColumn(name = "USER_ID")
private EntityB user;
}
现在,当我尝试使用em.merge(实体)更新EntityA时,
在后台而不是直接触发更新查询,hibernate会触发一些select查询 EntityA对象然后在EntityB对象上,然后在调用flush时,触发更新查询。 基本上,创建包括EntityB(存在于DB中)的EntityA的整个现有对象。然后我相信这个对象已更新,然后保存。
当关系是oneToMany时,有很多性能问题。在JPA中有什么东西,当我只想更新EntityA时,不从DB获取EntityB而我直接更新EntityA