【发布时间】:2011-05-16 02:51:27
【问题描述】:
我想从 main.gsp 中的用户对象访问组织列表:
<g:select name="effectiveOrganisation"
from="${session.user.organisations}" optionKey="id" optionValue="name"
value="${session.effectiveOrganisation?.id}" />
用户对象由以下类定义:
class SystemUser {
static hasMany = [organisations: Organisation]
static belongsTo = [Organisation]
static mapping = {
organisations lazy: false
}
}
但是当我执行我的代码时,我得到:
Exception Message: could not initialize proxy - no Session
Caused by: Error executing tag <g:form>:
Error executing tag <g:select>: could not initialize proxy - no Session
为什么渴望在这里不起作用?
【问题讨论】:
-
您确定这是急切获取的问题吗?看起来更像是 Session 的问题。
-
在访问急切获取的属性时,会话是否应该无关紧要?
-
是的。 Http session 无关紧要(不是 Hibernate Session)。我建议 http 会话而不是 Hibernate 会话存在问题 - 所以你甚至没有进入休眠状态。换句话说 - 你得到的错误信息与我怀疑的 GORM 无关。
-
我指的是休眠会话。 http 会话适用于其他 http 会话属性。
-
如果不急切地获取它是否可以工作?
标签: java hibernate grails grails-orm eager-loading