繁体   English   中英

跨不同类/表的唯一约束(TABLE PER SUBCLASS)

[英]Unique constraint across different classes/tables (TABLE PER SUBCLASS)

我有一个类A和一个从A继承的类B。类A具有特定的属性X。类B添加了另一个属性Y。B的实例由其对属性{X,Y}唯一标识。 因此,{X,Y}是类B的候选键。显然,此键在类A级别不存在,因为属性Y不存在。 我为A类使用了替代密钥。

现在,我将Hibernate用于对象关系映射。 如果我使用TABLE PER SUBCLASS继承策略,则看不到在属于不同类(然后在数据库中,到不同表)的多个属性上定义UNIQUE约束的可能性。

我的问题是如何使用Hibernate以及在SQL中更一般地为此候选键定义唯一约束? 如果不可能,您有什么建议?

谢谢

这是两个解决方案:

  • 用一个列(即它的PK)创建一个新表。 该表应包含要使其唯一的所有值。 创建该表的外键,这将确保列上的域来自唯一表。
  • 如果违反条件,则创建引发错误的触发器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM