
Mysql数据库中FIND_IN_SET();在HIbernate中怎么使用。比如,如何传参;
在Mysql数据库中select*fromt_testwhereFIND_IN_SET(id,'business');能够得到我想要的结果,但植入到Hibernate中这...
在Mysql数据库中select * from t_test where FIND_IN_SET(id,'business');能够得到我想要的结果,但植入到Hibernate中这个语句就运行不了。
展开
展开全部
其实是可以使用的,我今天就遇到这个问题,但是必须 这么用 :
在jdbc的SQL中可以不用写比较符,比如:
select * from t_user where find_in_set('zs',username) ;
当然也可以这样用:
select * from t_user where find_in_set('zs',username)>0
而在hibernate的HQL语句中,必须这样用:
from User u where find_in_set('zs',u.username)>0 ;
即‘>0’必须带上,否则会报错。
如果使用动态参数:
Map par = new HashMap();
par.put("buying_patterns", buying_patterns);
Hibernate hql语句 find_in_set 用法
gqo.addQuery("find_in_set(:buying_patterns,obj.buying_patterns)>0", par);
说明:1:buying_patterns buying_patterns 要传的属性值(:表示占位符)
2.obj.buying_patterns 表名.属性名
在jdbc的SQL中可以不用写比较符,比如:
select * from t_user where find_in_set('zs',username) ;
当然也可以这样用:
select * from t_user where find_in_set('zs',username)>0
而在hibernate的HQL语句中,必须这样用:
from User u where find_in_set('zs',u.username)>0 ;
即‘>0’必须带上,否则会报错。
如果使用动态参数:
Map par = new HashMap();
par.put("buying_patterns", buying_patterns);
Hibernate hql语句 find_in_set 用法
gqo.addQuery("find_in_set(:buying_patterns,obj.buying_patterns)>0", par);
说明:1:buying_patterns buying_patterns 要传的属性值(:表示占位符)
2.obj.buying_patterns 表名.属性名
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |