Grails:hasMany-isn';不工作。。。我想我';我的hibernate会话有问题
我有一个全新的Grails1.3.7,其中有两个域类,它们之间有一些微妙的关系:Grails:hasMany-isn';不工作。。。我想我';我的hibernate会话有问题,hibernate,session,grails,gorm,Hibernate,Session,Grails,Gorm,我有一个全新的Grails1.3.7,其中有两个域类,它们之间有一些微妙的关系: class NodePoint { String name static mappedBy=[outgoingConnections:'startPoint',incomingConnections:'endPoint'] static hasMany=[outgoingConnections:Connections, incomingConnections:Connections] } class
class NodePoint {
String name
static mappedBy=[outgoingConnections:'startPoint',incomingConnections:'endPoint']
static hasMany=[outgoingConnections:Connections, incomingConnections:Connections]
}
class Connections {
NodePoint startPoint
NodePoint endPoint
}
我在引导过程中出错(项目是“todaysstupidproblem”):
正在打印:
Running Grails application..
todaysstupidproblem.Connections : 1
WHY ISNT THERE SOMETHING BETWEEN THESE???
HIBERNATE FTL :(
Server running. Browse to http://localhost:8080/todaysstupidproblem
为什么连接没有打印?这是因为startingPoint.outgoingconnections为null,并且没有初始化为任何内容。虽然someConnex具有对startingPoint和endingPoint的引用,但反向引用尚未初始化。尝试在每个循环之前添加此项
startingPoint.addToOutgoingConnections someConnex
哦,是的,那是一次会议。我在这一行加上:
NodePoint.withSession { it.clear() }
然后用NodePoint.list()重新加载startPoint。找到{it}
它就在那里了
特别感谢@BurtBeckwith将此解决方案隐藏在对我的另一个问题的评论中 我以前从来没有这样做过。。。那看起来太麻烦了。。。我可以默认启用该行为吗?
NodePoint.withSession { it.clear() }