Hibernate 如何在grails中检索具有唯一null键的行?
在我们的grails应用程序中,我们有一个数据库表,它具有一个Hibernate 如何在grails中检索具有唯一null键的行?,hibernate,grails,gorm,grails-2.0,Hibernate,Grails,Gorm,Grails 2.0,在我们的grails应用程序中,我们有一个数据库表,它具有一个composite唯一键(即:键中的一列可以null,因此null是唯一值) 我的问题是,每当我们试图检索此列中包含null的行时,hibernate都会返回一个null对象。当其中一个键为空时,有人知道如何获取对象吗?此外,它还可以返回所有不包含null的行。尝试添加另一列,您可以将其用作备用键。然后使用另一个值作为空值。这样,您就不必处理null了您的密钥中是否必须有一个可为null的字段?是否有其他列可以替代?我们确实在键中有一
composite
唯一键(即:键中的一列可以null
,因此null是唯一值)
我的问题是,每当我们试图检索此列中包含null的行时,hibernate都会返回一个null对象。当其中一个键为空时,有人知道如何获取对象吗?此外,它还可以返回所有不包含null的行。尝试添加另一列,您可以将其用作备用键。然后使用另一个值作为空值。这样,您就不必处理null了您的密钥中是否必须有一个可为null的字段?是否有其他列可以替代?我们确实在键中有一个可为null的字段,不幸的是,不需要此列。将null作为唯一值是疯狂的。同意@Gregg,如果在任何组合键列中允许为null,则无法保证唯一性;我建议你重新考虑一下你的方法。长期以来,我只是一个严格的数据库管理员。Null绝对可能是唯一密钥的一部分。在Oracle中,主键中不能有空值,但它们可以存在于唯一键中。我不确定其他数据库是如何处理的。