|
|
1
29
Hibernate不支持@OneToMany(mappedBy=“…”)和@OrderColumn的组合。此JIRA问题跟踪在使用此无效组合时抛出更明显错误消息的请求: http://opensource.atlassian.com/projects/hibernate/browse/HHH-5390 我认为这不受支持主要是因为它是一种奇怪的关系模式。上面的注释表明,关系的“one”侧决定了关系将如何刷新到数据库中,但是order/position只能通过检查列表在“many”侧可用。“许多”一方拥有这种关系更有意义,因为这一方既知道成员身份,也知道元素的顺序。 Hibernate注解文档详细描述了这种情况:
这种变化的净影响是,关系的“多”方面现在决定了关系如何持久化。您的java代码需要确保正确更新列表,因为Hibernate现在在刷新实体时将忽略“一”面。
|
|
|
2
10
|
|
|
3
3
您应该尝试在关联的所有者上指定OrderColumn。 或者在您的映射中,您将所有者放在子级上,所有者应该是父级(在双向关联中,所有者是没有关键字mappedBy的所有者,这里您将此关键字放在父级的类上,那么您的意思是父级的类不是所有者)
|
|
|
rborum · 使用IF/CASE语句排序为列(AS) 8 年前 |
|
|
SouthBeach · 对象框到任意列表 8 年前 |
|
|
slickness · 一对多保存,无需创建 8 年前 |
|
|
PaFi · 一对多关系核心数据获取数据 8 年前 |
|
stilllife · Symfony 3多通关系空相关集合 8 年前 |
|
|
Joe · EF6一对多Fluent映射 8 年前 |