休眠:@UniqueConstraint跨多个表?
|
我有一个数据模型,其中许多实体从单个超类实体继承一些公共属性。我在超类上使用
InheritanceType.JOINED
,这会导致Hibernate为超类中定义的属性创建一个表,而子类表仅包含由子类添加的列(因此要加载子类实例的属性,将执行联接在两个表之间)。一切正常。
但是,我想做的是指定一个唯一的约束,该约束包括子类和超类表中的字段。例如,假设我的超类实体类似于:
Thing: {id, name}
...然后我有一些子类实体,例如:
Company: {address} //inherits \'id\' and \'name\' from \'Thing\'
Employee: {company} //inherits \'id\' and \'name\' from \'Thing\'
...并且我想将Hibernate配置为自动强制给定的Company
不能有两个同名的Employee
\。 company
字段在Employee
表中,而name
字段在Thing
表中,那么有什么方法可以让Hibernate强制执行此约束,还是每当我添加新的Employee
时都需要以编程方式进行操作吗?
没有找到相关结果
已邀请:
2 个回复
蕾跨立锌煤
扭湘阀柿蹄
,然后所有内容最终都放在一个巨大的表中,并且可以编写约束。如前所述:在关系数据库中根本无法实现所需的功能。