栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

休眠

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

休眠

where dldbaddres0_.PERSID=26801@Id  @Column(name = "PERSID", insertable = false, updatable = false)

您将PERSID定义为@Id,这是一个主键。它对于您的应用程序来说真的很独特吗?从行为来看不是。但是对于希伯来说一定是。

那么会发生什么:

  1. 您在数据库中有两个以上的记录,PERSID = 26801
  2. 您查询他们WHERe PERSID = 26801
  3. SQL查询返回两行以上
  4. Hib将第一个加载并进入会话,并以PERSID作为键(因为它被标记为@Id)。对象被放入结果列表。
  5. Hib加载第二个,注意会话中已经有一个具有相同@Id的对象,并将引用放入结果列表中。行数据将被忽略。
  6. 这样就得到了两个以上的副本。


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/381993.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号