私の最新の発明は、世界中のレストランでワッフルをリアルタイムで追跡できるシステムです。
これを達成するために、私Waffleは多くの を持っている を持っていCondimentsます。は現在オンになっているを持ち、多くの が異なる に変換された に属しています。presentWaffleWaffletable numberRestaurantNamelanguage
技術的には、すべての where を取得してWaffle、のwhereWaffle.shape == 'square'で並べ替え、 trueかどうかを表示する必要があります。RestaurantNameWaffle.Restaurant.Names.language == 'en'Condiment.present
Restaurant.Names = ['language':'en', 'name':'ワッフルハウス'],
['language':'fr', 'name':'Le Waffle House'],
['language':'de', 'name':'Das Waffle House']
正方形でフィルタリング
============================
(昇順)
Ⅴ
Restaurant Table# シロップバターマヨ
-------------------------------------------------- -------
デニーズ42 YYN
デニーズ 27 NNN
デニーズ11YYN
IHOP 10 YNN
IHOP 7 NNN
ワッフルハウス 10 YYY
クラスの簡略化されたバージョンは次のとおりです。
class Condiment {
int condimentId
boolean present
Waffle waffle
static belongsTo = [Waffle]
}
class Waffle {
int waffleId
int tableNumber
String shape
Restaurant restaurant
static belongsTo = [Restaurant]
static hasMany = [condiments:Condiment]
}
class Restaurant {
int restaurantId
static hasMany = [waffles:Waffle, names:Name]
}
class Name {
String name
String language
static hasMany = [restaurants:Restaurant]
}
可能であればGORMでこれを行いたいのですが、HQLも受け入れられます。これは Grails 2.3 の場合です。Waffle世界には何百万もの が存在するため、これはページ付けされていることに注意してください。