我的最新发明是一个系统,您可以在其中实时跟踪世界各地餐馆的华夫饼。
为了实现这一点,我有一个Waffle其中有很多Condiments,其中任何一个都可能在也可能present不在Waffle. Waffle有table number它当前打开,并且属于一个Restaurant有许多Names 被翻译成不同language的 s。
从技术上讲,我需要获取每个Waffle位置并按's whereWaffle.shape == 'square'排序并显示是否为真。RestaurantNameWaffle.Restaurant.Names.language == 'en'Condiment.present
Restaurant.Names = ['language':'en', 'name':'Waffle House'],
['language':'fr', 'name':'Le Waffle House'],
['语言':'de','名称':'Das Waffle House']
按方形过滤
==============================
(升序)
五
餐厅餐桌#糖浆黄油蛋黄酱
-------------------------------------------------- --------
丹尼的 42 YYN
丹尼的 27 NNN
丹尼的 11 YYN
IHOP 10 YNN
IHOP 7 神经网络
华夫饼屋 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 一起使用。请记住,这是分页的,因为世界上有数百万个Waffles,如果不是更多的话!