关于GORM的操作问题
|
zengsun
2007-07-05
groovy> b1 = new Bookmark(url: new URL('http://grails.org'), title: 'grails')
groovy> b1.save()
groovy> go
===> Bookmark : 1
groovy> b2 = Bookmark.get(1)
groovy> go
===> Bookmark : 1
groovy> b1.addTag(new Tag(name: 'grails')).addTag(new Tag(name: 'web framework'))
groovy> go
[DEPRECATED] Property or method [addTag] of class [Bookmark] is deprecated in [0.5.6] and will be removed in future releases
[DEPRECATED] Property or method [addTag] of class [Bookmark] is deprecated in [0.5.6] and will be removed in future releases
===> Bookmark : 1
addTag已经不建议使用了。那以后用什么方法替代? |
|
|
agile_boy
2007-07-05
可否详细一点啊,addTag好像是Bookmark的一个方法吧?
|
|
|
zengsun
2007-07-05
agile_boy 写道 可否详细一点啊,addTag好像是Bookmark的一个方法吧?
哦,我是按照<<The Definitive Guide to Grails>>写的: 目前有两个domain对象: Bookmark.groovy
class Bookmark {
static hasMany = [tags: Tag]
URL url
String title
String notes
Date dateCreated = new Date()
static constraints = {
notes(nullable: true)
}
}
Tag.groovy
class Tag {
static belongsTo = Bookmark
Bookmark bookmark
String name
}
然后在shell中执行上述代码,addTag是自动的方法。 在<<The Definitive Guide to Grails>>没有提到这个问题, 但我在官方提供的用户手册中找到了替代的方法:addToTags。 但是现在的问题就更加让我郁闷了!
groovy> println Bookmark.count()
groovy> go
0
===> null
groovy> b1 = new Bookmark(url: new URL('http://grails.org'), title: 'grails').addToTags(name: 'grails').addToTags(name: 'java ror').save()
groovy> go
===> Bookmark : 1
groovy> b2 = Bookmark.get(1)
groovy> go
===> Bookmark : 1
groovy> b2.tags.each { println it.name }
groovy> go
failed to lazily initialize a collection of role: Bookmark.tags, no session or session was closed
org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: Bookmark.tags, no session or session was closed
hibernate报延迟初始化错误!不知是怎么会事? |
|
|
agile_boy
2007-07-05
GORM我用的不多。
http://jira.codehaus.org/browse/GRAILS-812 应该跟你的错误差不多吧,我看在0.4.2就close了啊 |
|
|
zengsun
2007-07-05
agile_boy 写道 GORM我用的不多。
http://jira.codehaus.org/browse/GRAILS-812 应该跟你的错误差不多吧,我看在0.4.2就close了啊 虽然错误的结果相同,但产生错误的原因不同! 我反复的实验,发现如果先Bookmark.list()一下,以后就不会出现错误了! |
|
|
zengsun
2007-07-06
有没有那位遇到这个问题。
我是按照书上一模一样作的。 不可能取到bookmark的一个对象,取不到tags属性也算正常吧! 有没有高手可以说明一下!!! |
|
|
zengsun
2007-07-07
哎,怎么没有人理我!!!
|
|
|
agile_boy
2007-07-09
zengsun 写道 哎,怎么没有人理我!!!
你能把你的代码上传上来,以及运行环境说明一下么?这样大家也可以一块来看看,你的问题,如何? |
|
|
zengsun
2007-07-10
agile_boy 写道 zengsun 写道 哎,怎么没有人理我!!!
你能把你的代码上传上来,以及运行环境说明一下么?这样大家也可以一块来看看,你的问题,如何? 好呀,谢谢!我但我没有找到上传的地方。 而且发现这个问题只在shell中有,到了web页面上没有出现错误!!! |
|
|
agile_boy
2007-07-10
zengsun:
在你的主页提供下载地方,在这里做个URL连接应该是可以的吧 |

