我是hibernate的新手,并试图评估我是否真的可以将它用于我的项目。一种类型的实体需要对插入或更新进行一些特殊检查。我将尝试尽可能简单地解释。让我们说我们有颜色。用户可以创建n种颜色的混合物并将该混合物存储在数据库中。稍后,如果用户搜索颜色“蓝色”,则应显示所有包含蓝色的混合物。
业务规则是任何颜色应该只在数据库中一次。因此,如果插入新的混合物,必须先检查是否所有颜色都已存在于数据库中,如果是,则应重新使用(引用)颜色,如果不是,则应创建新颜色。
如果混合物被更改,说“蓝色”被替换为“红色”,则行为必须是初始的“蓝色”保持不变,系统检查是否存在“红色”并重新使用或创建它然后添加它是混合物。
我如何用hibernate做到这一点?
答案 0 :(得分:2)
你可以做到,但这与Hibernate没有多大关系。
您描述的内容是您的服务类应该完成的事情。
这应该是您的应用程序的逻辑,而不是ORM工具应该做的事情。
听到链接,您可以在其中阅读Hibernate events