如何更新 Play 框架 2 和 ebean 中的多对多关系?我不断收到这样的错误:
[PersistenceException: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "pk_field_event" Detail: Key (field_id, event_id)=(3, 21) already exists.]
我正在尝试使用表单选择哪些字段属于事件。我提交了一个包含字段列表的表单。id 属性是唯一填充的属性。然后我执行以下操作:
Event event = Event.find(eventId);
event.fields = fieldsForm.get().fields;
event.update();
我还尝试从数据库加载每个字段,将事件添加到其中,然后在该字段上调用 update()。
这是我的课程:
注意:为简单起见,我删除了 Entity 和 Id 注释。
public class Event {
@ManyToMany(cascade = CascadeType.ALL, mappedBy = "events")
public List<Field> fields;
}
}
public class Field {
@ManyToMany(cascade = CascadeType.ALL)
public List<Event> events;
}