Mat*_*teo 14 grails grails-orm grails-domain-class
我正在尝试hasMany使用mapping语句设置我的属性的默认排序.我正在关注grails doc,但它对我不起作用(grails 1.3.5).我的代码看起来像:
class Note {
Calendar sendDate
static belongsTo = Message
}
class Message {
static hasMany = [notes: Note]
static mapping = {
notes sort:'sendDate desc'
}
}
Run Code Online (Sandbox Code Playgroud)
错误消息如下所示:
...
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Unknown column 'notes0_.sendDate' in 'order clause'
at com.mysql.jdbc.Util.handleNewInstance(Util.java:409)
at com.mysql.jdbc.Util.getInstance(Util.java:384)
...
Run Code Online (Sandbox Code Playgroud)
你看到我的代码中有任何错误吗?
Rob*_*ska 21
一些可能有助于解决问题的事情:
Calendar的sendDate财产?大多数时候,人们会使用a java.util.Date.更改字段类型以Date解决问题吗?我用你的映射运行了一个例子并得到了一个错误.尝试将Message静态mapping闭包更改为:
static mapping = {
notes sort: 'sendDate', order: 'desc'
}
Run Code Online (Sandbox Code Playgroud)这个页面讲述了所有关于对象关系映射,我的应用程序遇到了类似的问题.我这样解决了:
class Note implements Comparable {
Calendar sendDate
static belongsTo = Message
int compareTo(obj) {
sendDate.compareTo(obj.sendDate)
}
}
Run Code Online (Sandbox Code Playgroud)
和
class Message {
SortedSet notes
static hasMany = [notes: Note]
}
Run Code Online (Sandbox Code Playgroud)
希望这有助于此!
| 归档时间: |
|
| 查看次数: |
12837 次 |
| 最近记录: |