通过额外的Id列

时间:2017-07-12 05:50:07

标签: java sql hibernate jpa

我对我的问题感到绝望。似乎我尝试了一切。我必须使用另一个实体的集合Map(User)创建实体(Map<Subsystem,Set<Role>>)。我想,我在数据库中创建了良好的架构(在图片上)Database representation

SubsystemRole之间存在多对多关系,其中id列用于User,以获得所需的Map<Subsystem,Set<Role>>。< / p>

我获得了具有特定实体SubsystemRole的半工作解决方案,我放置了id。我还在User Map<Subsystem, Set<Role>> subsystemRoleSetMap()中创建了方法。

但是我遇到问题,当我编辑某些Subsystem(或Role)中的任何字段时,Hibernate会尝试删除Subsystem表中subsystem_role的所有行,并使用新生成的ID重新插入它。

那么,如何强制Hibernate更新subsystem_role而不删除? 可能这篇文章包含解决方案https://giannigar.wordpress.com/2009/09/04/mapping-a-many-to-many-join-table-with-extra-column-using-jpa/#comments,但它不适用于我。

谢谢。

0 个答案:

没有答案