博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
hibernte中用criteria实现not in功能的方法
阅读量:4585 次
发布时间:2019-06-09

本文共 697 字,大约阅读时间需要 2 分钟。

我一直喜欢criteria,而不喜欢用hql。

Property类中提供的in方法有三个:

1 public Criterion in(Collection values)2 public Criterion in(Object[] values)3 public Criterion in(DetachedCriteria subselect)

 

但是,并没有提供相应的三个notin方法,只提供了一个:

public Criterion notIn(DetachedCriteria subselect)

 

看来,若是用Property方法,只能再创建一个子查询了。

不过,我们可以再查看Restrictions类。郁闷,Restrictions更离谱,只提供了两个in方法,根本没有提供notIn方法

public static Criterion in(String propertyName, Object[] values)public static Criterion in(String propertyName, Collection values)

 

那,怎么办呢?我一直讨厌使用hql。

经过一阵探索之后,发现Restrictions有一个not方法,有了,可以把in外面再套一个not,不久可以了嘛:)。

最后的解决方法的实例代码如下:

criteria.add(Restrictions.not(Restrictions.in("id", callbackIds)));

 

转载于:https://www.cnblogs.com/wdmwj626/p/4727565.html

你可能感兴趣的文章
解决IE11只能用管理员身份运行的问题
查看>>
android学习-LocationManager(一)-
查看>>
Linux安装单机solr
查看>>
dos alias/cname address
查看>>
NAT模式实现局域网物理机与虚拟机的互通访问
查看>>
cygwin下用arm-xscale-linux-gnueabi交叉编译libcgi
查看>>
delphi中WMI的使用(网卡是否接入)
查看>>
js弹出遮罩层
查看>>
Linux tar打包命令
查看>>
iOS中的UIView动画
查看>>
解决android textview 混合文字、数字换行后对列不齐
查看>>
Winform PPT切换图片效果
查看>>
ionic调用数据接口(post、解决 payload 问题)
查看>>
奇偶数分离
查看>>
1020 PAT
查看>>
hdu6080(最小环)
查看>>
背景透明,文字不透明解决办法
查看>>
微信小程序 报错: Expecting 'EOF','}',',',']', got INVALID
查看>>
mysql 数据库【目录】
查看>>
开发工具IDEA环境安装配置
查看>>