Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 如何在grails中检索具有唯一null键的行?_Hibernate_Grails_Gorm_Grails 2.0 - Fatal编程技术网

Hibernate 如何在grails中检索具有唯一null键的行?

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的字段?是否有其他列可以替代?我们确实在键中有一

在我们的grails应用程序中,我们有一个数据库表,它具有一个
composite
唯一键(即:键中的一列可以
null
,因此null是唯一值)


我的问题是,每当我们试图检索此列中包含null的行时,hibernate都会返回一个null对象。当其中一个键为空时,有人知道如何获取对象吗?此外,它还可以返回所有不包含null的行。

尝试添加另一列,您可以将其用作备用键。然后使用另一个值作为空值。这样,您就不必处理null了

您的密钥中是否必须有一个可为null的字段?是否有其他列可以替代?我们确实在键中有一个可为null的字段,不幸的是,不需要此列。将null作为唯一值是疯狂的。同意@Gregg,如果在任何组合键列中允许为null,则无法保证唯一性;我建议你重新考虑一下你的方法。长期以来,我只是一个严格的数据库管理员。Null绝对可能是唯一密钥的一部分。在Oracle中,主键中不能有空值,但它们可以存在于唯一键中。我不确定其他数据库是如何处理的。