在jpa中的em.merge性能问题

时间:2014-09-24 12:08:47

标签: java hibernate jpa

我有一个实体与其他实体进行了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

0 个答案:

没有答案