情况就是这样:
我上课了。例如:
class Author {
String name
static hasMany = [books: Book]
static mapping = {
books cascade: "all-delete-orphan"
}
}
class Book {
String text
static belongsTo = [author: Author]
static constraints = {
text minSize: 500
}
}
现在,我为这一对多创建一个表单,当我尝试验证时,该人没有为文本输入至少500个字符,所以我将对象返回到表单。
问题是我创建的儿童对象没有返回!你们如何验证从未保存过的域类的子对象?!?!
谢谢!
答案 0 :(得分:0)
试试这种方式
class Author {
String name
ArrayList<Book> books = []
static hasMany = [books: Book]
static mapping = {
books cascade: "all-delete-orphan"
}
}
如果不起作用,我认为你必须按某个领域订购
您可以通过这种方式指定排序顺序
class Author {
String name
static hasMany = [books: Book]
static mapping = {
books cascade: "all-delete-orphan"
books sort: 'id', order: 'desc'
}
}
答案 1 :(得分:0)
默认情况下,hasMany
使用Set
来存储相关对象,Set
没有按顺序排列的概念。如果订单对您的申请很重要,我建议改为使用List
。