【问题标题】:How to code the NOT IN query in Hibernate criteria?如何在 Hibernate 条件中编写 NOT IN 查询?
【发布时间】:2013-02-27 18:53:59
【问题描述】:

这是我尝试在 Criteria 中编写的查询:

    SELECT * FROM abc 
    WHERE NOT PartType IN ('0','4','5','6','7','a','b','c') 

以上是iBatis中的。

这就是表格的 hbm.xml

  <class name="Parts" table="SomeDb..Parts">
        <id name="recordNumber" column="Recnum" />
        <property name="partNumber" column="Partnum" />
        <property name="sectionNumber" column="Secnum" />
        <property name="articleNumber" column="Articlenum"/>
        <property name="headerNumber" column="Headernum"/>
        <property name="partType" column="PartType"/>
        <property name="code" column="Code"/>
  </class>

partType 是 nvarchar,在 SQL Server 数据库中长度为 1。 我正在尝试选择不包含“0”、“4”、“5”、“6”、“7”、“a”、“b”、“c”的任何部分类型的记录。 希望我已经回答了你的问题。 谢谢

【问题讨论】:

  • 你能解释一下你正在尝试什么吗?表格看起来像哪个数据类型具有字段 PartType?

标签: hibernate criteria


【解决方案1】:
Criteria criteria = ...;
criteria.add(
  Restrictions.not(
    Restrictions.in("partType", new String[] {"0","4","5","6","7","a","b","c"})
  )
);

希望对您有所帮助。

【讨论】:

  • 我让它与这个一起工作:\n criteria.add(Expression.not(Expression.in("paraType", new String[]{"0", "4", "5" , "6", "7", "a", "b", "c"}))); \n 我也会试试你的解决方案!!谢谢!!
  • 表达式现在已弃用,您应该按照答案中的说明使用限制。
猜你喜欢
  • 1970-01-01
  • 2023-03-20
  • 2016-09-20
  • 2011-08-06
  • 1970-01-01
  • 2016-07-09
  • 2013-06-27
  • 1970-01-01
  • 2013-01-11
相关资源
最近更新 更多