我咋就啥都不会啊
2017-11-08 07:00
采纳率: 75%
浏览 960
已采纳

hibernate的查询语句怎么实现逻辑上的合并

比如我想实现查询a&b&c
可以写成:from WorkTransfer s where s.a like"+"'%"a"%'"+"and s.b like"+"'%b%'"+"and s.c like"+"'%c%'"这样的。
但是我想查询a&(b|c)应该怎么写呢?
我需要查询关键字,而这个关键字出现在这个表的两列中的任意一列就行,也就是b|c,应该怎么写hql语句呢?

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

4条回答 默认 最新

  • hwbays 2017-11-08 07:09
    已采纳

    from WorkTransfer s where s.a like"+"'%"a"%'"+"and (s.b like"+"'%b%'"+"or s.c like"+"'%c%'")
    你都会用and了,把and换成or不就行了

    点赞 评论
  • 首先我不太明白你要查找的关键字只的是输入一个参数?还是多个,好比如你说的,是否是三个参数,如果是,那就要用到sql拼接了。判断参数否是空,然后进行追加sql
    如果是指一个参数的话:

    from WorkTransfer s where s.a like"+"'%"a"%'"+"or s.b like"+"'%b%'"+"or s.c like"+"'%c%'"

    点赞 评论
  • 记忆沙漏@水中月 2017-11-08 07:24

    from WorkTransfer s where s.a like"+"'%"a"%'"+"and (s.b like"+"'%b%'"+"or s.c like"+"'%c%'")

    点赞 评论
  • Amazing__W 2017-11-08 12:19

    from WorkTransfer s where s.a like"+"'%"a"%'"+"and (s.b like"+"'%b%'"+"or s.c like"+"'%c%'")

    点赞 评论

相关推荐 更多相似问题