class Dog {
String name
String type
static hasMany = [snacks:Snack]
}
class Snack {
String name;
String protein;
Boolean vegetarian;
}
dogInstance.addToSnacks(new Snack(name: "Dog Yums", protein: "Pork", vegetarian: false);
dogInstance.addToSnacks(new Snack(name: "Super Tasty Snack", protein: "Beef", vegetarian: false);
dogInstance.addToSnacks(new Snack(name: "Woofles", protein: null, vegetarian: true);
dogInstance.save(flush: true)
我希望零食的数据库表按照添加的顺序包含零食。相反,他们最终在数据库中逆转。知道为什么会这样吗?我正在使用MSSQL数据库来存储数据。
我除了
id:1,姓名:Dog Yums,蛋白质:猪肉,素食:假的
id:2,名称:超级美味小吃,蛋白质:牛肉,素食:假的
id:3,name:Dog Yums,protein:null,vegetarian:True
我得到了什么
id:1,name:Dog Yums,protein:null,vegetarian:True
id:2,名称:超级美味小吃,蛋白质:牛肉,素食:假的
id:3,姓名:Dog Yums,蛋白质:猪肉,素食:假的
答案 0 :(得分:2)
默认情况下,GORM(实际上是Hibernate)不保证集合的顺序。如果您需要按特定顺序收集集合,则需要将此集合指定为List<T>
,例如:
class Dog {
String name
String type
List<Snack> snacks
static hasMany = [snacks:Snack]
}