如果我保存包含以下列表的对象
@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()在此块之前插入它会起作用,但是位置信息会丢失(这会导致其他错误)。
taskList.refresh()
这是Hibernate错误还是我的代码有问题?
问题是,这Hibernate不支持的组合@OneToMany(mappedBy=...)和@OrderColumn。如果没有mappedByHibernate,则使用联接表,一切都会按预期进行。
@OneToMany(mappedBy=...)
@OrderColumn
mappedBy