假设我有以下课程:
abstract class Fruit {
String name
static mapping = {
discriminator column: 'type'
}
class Banana extends Fruit {
static mapping = {
discriminator: 'Banana'
}
}
class Apple extends Fruit {
static mapping = {
discriminator: 'Apple'
}
}
我需要实现一个搜索算法,这样,给定一个 JSON 字符串,我可以在数据库中找到一个特定的 Fruit 实例。例如:
{
"type": "Apple"
"name": "Green"
}
或者
{
"type": "Banana"
"name": "Green"
}
问题是,水果可以有相同的名称,所以如果我只是搜索这个:
Fruit.getByName('Green')
它可能会返回Apple
或Banana
。我需要能够根据类型过滤它的类型,比如:
Fruit.getByNameAndType('Green', 'Apple')
我如何在 Grails 中做到这一点?