一尘不染

HibernateException:找到相同集合的两个表示形式

hibernate

如果我保存包含以下列表的对象

@OneToMany(cascade=CascadeType.ALL, mappedBy="taskList")
@OrderColumn(name="position", nullable=false)
public List<Task> tasks = new ArrayList<Task>();

我例外

org.hibernate.HibernateException: Found two representations of same collection

播放中的代码!控制器看起来像这样:

TaskList taskList = taskList.findById(taskListId);
taskList.add(position, task);
taskList.save();

如果我taskList.refresh()在此块之前插入它会起作用,但是位置信息会丢失(这会导致其他错误)。

这是Hibernate错误还是我的代码有问题?


阅读 230

收藏
2020-06-20

共1个答案

一尘不染

问题是,这Hibernate不支持的组合@OneToMany(mappedBy=...)@OrderColumn。如果没有mappedByHibernate,则使用联接表,一切都会按预期进行。

2020-06-20