[Grails] 关于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连接应该是可以的吧 |