gpt4 book ai didi

hibernate - 如果用withNewSession包装,grails创建条件非唯一对象错误

转载 作者:行者123 更新时间:2023-12-02 15:16:45 27 4
gpt4 key购买 nike

我有看起来像这样的标准

  //Inventory.withNewSession{
Set inventory=Inventory.withCriteria{
setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
inventoryDetail{
eq('userAdded',true)
}
...
}
//}

如果将其包装在withNewSession中,则会在 session 错误中得到重复的键和非唯一对象。如果我不使用withNewSession,它会起作用。

为什么?

最佳答案

如果您已经有一个 session 并使用id=1(例如)加载了对象,然后创建了一个新 session 并加载了该对象。当新的 session 块结束时,休眠 session 将加入现有的 session (我是说对吗?),现在,您的两个对象都加载了相同的ID。

我不确定您为什么在这里使用withNewSession,是否存在无需休眠 session 即可执行的路径?您是否按照贸发 session 的建议,试图以事务隔离的方式?

关于hibernate - 如果用withNewSession包装,grails创建条件非唯一对象错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55716023/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com