Java Hibernate条件不适用于使用限制的同一表中的两个值。neProperty()专门用于空值?
我正在尝试在其中一个表中使用hibernate条件获取对象。我必须为同一个表中的两列添加一个条件,这两列的值不应该相等。因此,我在现有标准中添加了以下行:Java Hibernate条件不适用于使用限制的同一表中的两个值。neProperty()专门用于空值?,java,hibernate,hibernate-criteria,Java,Hibernate,Hibernate Criteria,我正在尝试在其中一个表中使用hibernate条件获取对象。我必须为同一个表中的两列添加一个条件,这两列的值不应该相等。因此,我在现有标准中添加了以下行: criteria.add(Restrictions.neProperty("column1", "column2")); 但上述方法似乎不起作用 我尝试了一些方法,在两列中添加了相同的长值并将条件更改为 criteria.add(Restrictions.eqProperty("column1", "column2")); 它工作得很好,
criteria.add(Restrictions.neProperty("column1", "column2"));
但上述方法似乎不起作用
我尝试了一些方法,在两列中添加了相同的长值并将条件更改为
criteria.add(Restrictions.eqProperty("column1", "column2"));
它工作得很好,然后我将值编辑为不相等,而不是空值,将标准更改为
criteria.add(Restrictions.neProperty("column1", "column2"));
上述条件也有效,但当我有
column1
一个有效值&column2
null时,上述条件失败,原因可能是什么?因为在SQL中value=null
不起作用。对于null
检查,您需要值为null
或值不为null
对于值!=空
。因此,您需要在限制#isNotNull(String属性)
或限制#isNull(String属性)
@XtremeBaumer根据我对空数据值的试验,您所说的似乎都是正确的,我认为null将被视为不平等的,谢谢,因为在SQLvalue=null
中不起作用。对于null
检查,您需要值为null
或值不为null
对于值!=空
。因此,您需要在限制#isNotNull(字符串属性)
或限制#isNull(字符串属性)
@XtremeBaumer中工作。无论您说的是什么,根据我对null数据值的试验,我认为null将被视为不平等,谢谢