我想知道Hibernate函数Restrictions.allEq(Map<String, Object> ...)
如何处理输入Map中的空值(如果是多个Restrictions.eq(String, Object)
或Restrictions.eqOrIsNull(String, Object)
)或whatelse。)
从Google快速搜索后,我无法找到Hibernate文档中的任何内容,只有来源说明Restrictions.allEq(...)
等同于multiple Restrictions.eq(String, Object)
(请参阅here)。 />
我不确定这是正确的答案,所以我在这里问。
提前谢谢大家
答案 0 :(得分:3)
下载了Hibernate的源代码(4.3.6.Final),稍加检查后,我终于找到了答案:Restrictions.allEq(Map<String, Object>)
被翻译为一堆Restrictions.eq(String, Object)
,因此null
值被重新映射为字符串"null"
(根据具体应用可能是或可能不是正确的翻译)。
在我的情况下,我需要使用多个Restrictions.eqOrIsNull(String, Object)
来正确管理我的输入Map<String, Object>
我希望这个问题对其他人有用。