7

这是我试图在 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”的任何部分类型的记录。希望我已经回答了你的问题。谢谢

4

1 回答 1

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

希望能帮助到你。

于 2013-02-27T20:25:01.700 回答