Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Grails:hasMany-isn';不工作。。。我想我';我的hibernate会话有问题_Hibernate_Session_Grails_Gorm - Fatal编程技术网

Grails:hasMany-isn';不工作。。。我想我';我的hibernate会话有问题

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

我有一个全新的Grails1.3.7,其中有两个域类,它们之间有一些微妙的关系:

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() }