Grails 具有多个字符串的HQL问题
这就是这个问题的背景: 我有一个Grails类:Grails 具有多个字符串的HQL问题,grails,find,hql,gorm,Grails,Find,Hql,Gorm,这就是这个问题的背景: 我有一个Grails类: class User{ long id static hasMany = [skills: String] ... } 我希望在两个条件下从db获取用户: 一组ID 技能集(字符串) 我编写了一个适用于ids的查询,但我无法让技能部分正常工作: User.findAll( "from User where id in (5067120,5067121,...5067139)" ) 目前,我在查询后手动选择具有正确技能的
class User{
long id
static hasMany = [skills: String]
...
}
我希望在两个条件下从db获取用户:
- 一组ID
- 技能集(字符串)
User.findAll( "from User
where id in (5067120,5067121,...5067139)" )
目前,我在查询后手动选择具有正确技能的用户,但显然这不是一个有效的解决方案。
我怎样才能解决这个问题
谢谢 这应该有效:
def ids = [5067120L, 5067121L, ...5067139L]
def skills = ['skill 1', 'skill 2']
def users = User.executeQuery(
'select distinct u ' +
'from User u inner join u.skills skills ' +
'where u.id in (:ids) and skills in (:skills)',
[ids: ids, skills: skills])
请注意,如果id字段是常规的long字段,则不需要指定它,Grails会为您指定