使用JPA的SQL约束
我有一个数据对象data和两种键对象KeyA和KeyB。我需要处理一个记录,它是一对密钥数据,即{KeyA | KeyB},数据。 每个键都必须映射到一个数据对象,反之亦然 问题是如何通过具有正确SQL约束和JPA的SQL实现 很明显,一些基本的外键魔术在这里不起作用。例如,如果键对象定义了外键到数据,则会打破唯一的映射条件:如果KeyA引用数据,KeyB引用数据,则允许在两个键之间共享一个数据。另一方面,如果数据定义了两个外键到键,则允许引用两个不同的键A和B。使用JPA的SQL约束,jpa,database-design,constraint-programming,Jpa,Database Design,Constraint Programming,我有一个数据对象data和两种键对象KeyA和KeyB。我需要处理一个记录,它是一对密钥数据,即{KeyA | KeyB},数据。 每个键都必须映射到一个数据对象,反之亦然 问题是如何通过具有正确SQL约束和JPA的SQL实现 很明显,一些基本的外键魔术在这里不起作用。例如,如果键对象定义了外键到数据,则会打破唯一的映射条件:如果KeyA引用数据,KeyB引用数据,则允许在两个键之间共享一个数据。另一方面,如果数据定义了两个外键到键,则允许引用两个不同的键A和B。 即使添加另一个适配器表KeyA
即使添加另一个适配器表KeyA KeyB数据也没有多大帮助。为什么KeyA和KeyB不扩展Key,并拥有Key引用数据?使用单表继承或联接表继承将两个键的公共元素放在同一个表中。谢谢,看起来像我正在寻找的方法。