我有两个表:Task和User。我使用ManyToMany关系。我认为当使用列表用户保存Task对象时,将填充我的联接表(task_user)。我错了。当我保存任务对象时,它保存在任务表中,而没有其他内容。我认为原因是我保存对象的错误方法。我可以与用户一起获取Task,但无法正确保存。我搜索了一些东西,但没有任何效果。
任务实体:
@ManyToMany(mappedBy="tasks")
private List<User> users = new ArrayList<>();
用户实体:
@ManyToMany
@JoinTable(name="user_task",
joinColumns = {@JoinColumn(name="id_user")},
inverseJoinColumns = { @JoinColumn(name="id_task") })
private List<Task> tasks = new ArrayList<>();
道:
@Override
public void saveNewTask(Task newTask) {
getCurrentSession().save(newTask);
}
我的对象任务:
newTask对象:desc desc desc其他字段:0 内部包含用户的列表:[用户[id = 1,名称= Dawid Pawka,登录名= dpawka,密码= dpawka],用户[id = 2,名称= Adam Mickiewicz,登录名= amickiewicz,密码= amickiewicz]] 休眠:将值(?,?,?,?,?)插入任务(日期,描述,小时,时间,标题)