我正在寻找一种更简单的grails方式(如果存在)来实现以下目标:
我的UserIntegration.groovy域类:
class UserIntegration {
User user
Integration integration
// rest of code
}
我的Integration.groovy域名:
class Integration {
SomeType type
// rest of code
}
我的SomeType.groovy域名:
class SomeType {
String name
// rest of code
}
基本上我需要的是一种方式,以便找到UserIntegration
Integration
type.name = "someTypeName"
换句话说,我正在寻找UserIntegration.findByIntegrationTypeName("someTypeName");
显然,这样一个动态查找器不存在,但是有没有更容易的groovier方法呢?我现在可以找到所有具有type =“someTypeName”的Integration对象,然后在findAllByIntegration
中使用此集成,但如果存在则寻找更简单的解决方案,最好是动态查找器。
答案 0 :(得分:0)
您也可以使用HQL执行相同的操作
def list = UserIntegration.executeQuery(from UserIntegration userInt
inner join fetch userint.integration integration
inner join fetch integration.type sometype
where sometype.name =:name,[name:'someTypeName'] )
答案 1 :(得分:0)
UserIntegration.createCriteria().list(max:1){
'integration'{
'type'{
eq('name',"someTypeName")
}
}
}
希望它有效