我是 spring 和 hibernate 的新手,所以在你的回答中考虑到这一点。
我有一个多对多的关系,链接表也必须包含信息。我将尝试根据以下方法解决此问题:
如何为连接表中的其他属性创建多对多 Hibernate 映射?
我的问题与:
但我只是在这里重复一遍,所以不需要点击链接:
假设我们有颜色。用户可以创建 n 种颜色的混合物并将该混合物存储在数据库中。稍后,如果用户搜索颜色“蓝色”,则应显示所有包含蓝色的混合物。
业务规则是任何颜色都只能在数据库中出现一次。因此,如果插入新的混合物,则必须首先检查所有颜色是否已在数据库中,如果是,则应重复使用(引用)该颜色,如果不是则应创建新颜色。
如果一个混合物被改变,说“蓝色”被“红色”取代,行为必须是最初的“蓝色”保持不变,系统检查“红色”是否存在,要么重用它,要么创建它,然后将它添加到混合物。
重要的部分是“颜色”由系统管理,现有颜色不得更改。“红色”将始终为“红色”,永远不应更改为“蓝色”。因为我是 Hibernate 和 Spring 的新手,所以我对如何实现这个规则以及在什么级别上有点迷茫。恕我直言,我会把这个逻辑放在可能的最低级别,这样如果你(开发人员)它就不会中断忘记检查它。那有意义吗?更好的想法或建议?