|
3
|
| Damian LeszczyÅski - Vash · 技术社区 · 16 年前 |
|
|
1
9
经过一些研究,问题出在冬眠中,这就是所谓的虫子。 #HHH-2862
当Hibernate使用“PersistenceContext.AddUninitializedCollection()”初始化集合时,这将检测到已添加具有给定键的集合,然后将旧实例设置为空,并将集合设置为当前实例。但是,该集合已通过早期调用添加到持久性上下文中,并且
有没有想过如何绕过这个bug? |
|
|
2
5
当您有一个引用非主键的外键时,应该使用property ref属性 其文档
因为你的收藏 是不可变的 应将可变属性设置为false 这是你的地图
每一类的描述如下 B.C.A.A.AA
B.CO.B.B.B.
英国皇家海军陆战队
作为解决方案添加 好吧,让我们看看 第一用例
你说
如你所见,你的 本地人 SQL只检索CC对象。 不 加入。但你说它检索所有相关对象,包括bblist。如果是这样,则是因为您具有类似的映射(notice fetch=“select”lazy=“false”)。
取回=“选择” 使用其他选择。对于一对多和多对多的关系(bblist,对吧???)fetch属性 协同工作 使用lazy属性来确定加载相关集合的方式和时间。如果lazy=“true”,则应用程序访问集合时将加载集合,但如果lazy=“false”,则休眠 立即加载集合 使用单独的SQL select语句。 但是如果运行
我得到了期望
为什么???? 你想通过一个专栏加入CC及其相关的bblist 这意味着使用属性ref属性 对吧????
如果你想用一个\u id作为主键, 它一定是独一无二的 . 因为有很多AA属性 具有相同的值 ,您将得到这个异常。第一个用例不会引发任何异常,因为您刚刚检索到 一 实体 解决办法 试着一个接一个
或者使用普通的JDBC查询 |
|
|
3
0
您可能在发布的代码中犯了错误,但是假设它是正确的,但是您的Tablec类有一个TableB列表,而您的Tablec数据库表有一个对表A的FK引用。 |
|
4
0
imho,您没有按预期使用ORM。类模型与表结构完全相同。这种情况未必如此。这样,您就不会从ORM中受益。 因此,我建议将b和c的列表放在表A中。然后,您可以在需要的地方导航:
你把它画成这样:
然后您可以简单地按如下方式导航:
HQL查询:
编辑: 查询以获取与某个C共享相同A的所有B:
或更短:
|
|
|
Giffyguy · 如何限制在构造向量后调用'resize()'? 4 年前 |
|
|
vytaute · 返回表类型时Oracle函数中的类型错误 4 年前 |
|
|
bbgghh · 在scala中连接两个列表时如何处理不匹配的键 4 年前 |
|
|
dev-chicco · Laravel系列寻找常见物品 4 年前 |
|
|
Mitch · Laravel-雄辩的单品合并系列 8 年前 |
|
|
Kieran · 为什么类X可以从集合继承<X> 8 年前 |
|
|
John · 如何在不返回集合本身的情况下返回集合的数据? 8 年前 |
|
|
Niklas Mertsch · 在泛型集合中实现移除(对象o) 8 年前 |