我想知道Hibernate函数Restrictions.allEq(Map<String, Object> ...)
如何处理输入Map中的空值(如果是多个Restrictions.eq(String, Object)
或Restrictions.eqOrIsNull(String, Object)
)或其他什么)
在谷歌上快速搜索后,我在Hibernate文档中找不到任何具体的内容,只有一个消息来源说Restrictions.allEq(...)
相当于multiple Restrictions.eq(String, Object)
(请参阅此处)
我不确定这是正确的答案,所以我在这里问。提前感谢大家
在下载了Hibernate的源代码(4.3.6.Final)并进行了一些检查后,我终于找到了答案:Restrictions.allEq(Map<String, Object>)
被翻译为一堆Restrictions.eq(String, Object)
,因此null
值被重新映射为字符串"null"
(根据具体应用程序,这可能是正确的翻译,也可能不是正确的翻译)
在我的情况下,我需要使用多个Restrictions.eqOrIsNull(String, Object)
来正确管理我的输入Map<String, Object>
我希望这个问题对其他人有用。