Hibernate 复合/复合键的一个属性是否可以为Null?

Hibernate 复合/复合键的一个属性是否可以为Null?,hibernate,jpa,Hibernate,Jpa,一个复合键由两个类的两个ID组成。在我的用例中,其中一个ID可能不会显示给具有复合键的实体。复合键可以允许一个元素为空吗?我在网上找不到相关文档 我想这个问题已经得到了回答:。一般来说,主键为null是个坏主意(通常数据库不允许使用null PKs)。我的问题是关于复合键中的一个元素为null,但不是所有元素都为null。换句话说,复合键不会为null,但一个元素可能为null。我问题的背景是关于一对多关系的非规范化。在我们的系统中,我有一对多的关系。我需要通过平展一对多关系来创建镜像实体。我在

一个复合键由两个类的两个ID组成。在我的用例中,其中一个ID可能不会显示给具有复合键的实体。复合键可以允许一个元素为空吗?我在网上找不到相关文档

我想这个问题已经得到了回答:。一般来说,主键为null是个坏主意(通常数据库不允许使用null PKs)。

我的问题是关于复合键中的一个元素为null,但不是所有元素都为null。换句话说,复合键不会为null,但一个元素可能为null。我问题的背景是关于一对多关系的非规范化。在我们的系统中,我有一对多的关系。我需要通过平展一对多关系来创建镜像实体。我在镜像实体中有一个复合键,它由一对多关系中两个实体的ID组成。为了确保我理解你,你说你有两个表(a和B),你想用它们的PK作为复合键创建一个表示这两个表的实体?在这种情况下,为什么不能在关系的“多”部分使用表的PK?因为它是一对多而不是多对多,所以PK仍然是唯一的,并且您不需要担心维护复合密钥。这可以通过以下方式完成。我是从质疑的角度考虑的。大多数查询将采用父ID,但不采用子ID。