Hibernate 一对多映射适用于列表而不是集合?
抱歉打扰 - 也许这是一个非常简单的问题 - 但由于某种原因,下面的版本无法解析,而带有 set 的版本工作正常。事实上,如果我只是采用集合版本并将集合替换为列表,我会得到:
嵌套异常是 org.hibernate.InvalidMappingException:无法从无效映射中解析映射文档
谢谢 米沙
<!-- bi-directional one-to-many association to SpreadsheetImportTemplateColumn -->
<list name="columns">
<!--
<set name="columns" lazy="false" inverse="true"
cascade="all-delete-orphan" sort="natural"
order-by="voided asc, preferred desc, date_created desc">
-->
<key column="template_id" not-null="true" />
<!--
<one-to-many class="SpreadsheetImportTemplateColumn" />
</set>
-->
</list>
Sorry to bother - perhaps this is a very simple question - but for some reason the version below fails to get parsed, whereas the version with set works fine. In fact, if I just take the set version and replace set with list I get:
nested exception is org.hibernate.InvalidMappingException: Could not parse mapping document from invalid mapping
Thank you
Misha
<!-- bi-directional one-to-many association to SpreadsheetImportTemplateColumn -->
<list name="columns">
<!--
<set name="columns" lazy="false" inverse="true"
cascade="all-delete-orphan" sort="natural"
order-by="voided asc, preferred desc, date_created desc">
-->
<key column="template_id" not-null="true" />
<!--
<one-to-many class="SpreadsheetImportTemplateColumn" />
</set>
-->
</list>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
你说
这里是 list DOCTYPE
正如你所看到的,列表元素需要索引或列表索引元素,一个关键元素,以及以下
这里是 list-index DOCTYPE
所以你应该使用
但是如果你想使用列表而不是集合并且没有列表索引列 ,你可以用袋子代替。初始化如下
并定义此映射代替
You said
Here goes list DOCTYPE
Ass you can see, list element needs either index or list-index element, a key element, and one of the following
Here goes list-index DOCTYPE
So you should use
But if you want to use a list instead of a set and does not have a list-index column, you can use a bag instead. Initialize as follows
And define this mapping instead
在 Hibernate 中,List 必须指定索引列。
请参阅 Hibernate 文档。
In Hibernate, a List must specify an index column.
See Section 6.2.3 of the Hibernate documentation.