如何在Hibernate标准中编写NOT IN查询?

use*_*447 7 hibernate criteria

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

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

以上是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>
Run Code Online (Sandbox Code Playgroud)

partType是nvarchar,SQL Server数据库中的长度为1.我试图选择没有任何"0","4","5","6","7","a","b","c"的部分类型的记录.希望我已经回答了你的问题.谢谢

dan*_*nik 19

Criteria criteria = ...;
criteria.add(
  Restrictions.not(
    Restrictions.in("partType", new String[] {"0","4","5","6","7","a","b","c"})
  )
);
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你.