次のクラスがあるとします。
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 文字列を指定して、DB で特定の Fruit インスタンスを見つけることができるように、検索アルゴリズムを実装する必要があります。例えば:
{
"type": "Apple"
"name": "Green"
}
また
{
"type": "Banana"
"name": "Green"
}
問題は、果物が同じ名前を持つ可能性があることです。これを検索すると、次のようになります。
Fruit.getByName('Green')
Apple
または を返す場合がありBanana
ます。次のようなタイプに基づいて、タイプでフィルタリングできる必要があります。
Fruit.getByNameAndType('Green', 'Apple')
Grailsでこれを行うにはどうすればよいですか?