我正在寻找一种更简单的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");
显然不存在这样的动态查找器,但是有没有更简单的常规方法呢?我目前可以找出所有类型为“someTypeName”的Integration对象,然后在
findAllByIntegration
中使用此集成,但是如果存在的话,寻找一种更简单的解决方案,最好是动态查找器。 最佳答案
您也可以使用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'] )