我知道这已经被问过很多次了,我已经阅读/尝试了我能找到的大多数解决方案。但我找不到我的问题的确切解决方案。他们中的大多数都在调用 save() 但我只得到列表。这是在 groovy/grails 中。
执行此代码部分时,会出现错误“无法延迟初始化集合,没有关闭会话或会话”return caseVisualImpairmentCauses
。当caseVisualImpairmentCauses
包含值时,它返回错误“对象引用了未保存的瞬态实例 - 在刷新之前保存瞬态实例”。
def List<CaseVisualImpairmentCause> bindVisualImpairmentCause(Long visualImpairmentPrimaryCauseId, ArrayList caseVisualImpairmentCausesList,
String visualImpairmentOtherCause) {
def caseVisualImpairmentCauses = []
if (visualImpairmentPrimaryCauseId) {
def visualImpairmentPrimaryCauseInstance = VisualImpairmentCause.get(visualImpairmentPrimaryCauseId)
CaseVisualImpairmentCause caseVisualImpairmentPrimaryCause = new CaseVisualImpairmentCause(visualImpairmentCauseIdvisualImpairmentCause: visualImpairmentPrimaryCauseInstance)
caseVisualImpairmentPrimaryCause.isPrimary = true
caseVisualImpairmentCauses << caseVisualImpairmentPrimaryCause
}
caseVisualImpairmentCausesList.each {
VisualImpairmentCause visualImpairmentCause = VisualImpairmentCause.get(it as Integer)
CaseVisualImpairmentCause caseVisualImpairmentCause = new CaseVisualImpairmentCause(visualImpairmentCauseIdvisualImpairmentCause: visualImpairmentCause)
if (it.equals('5')) {
caseVisualImpairmentCause.caseVisualImpairmentCauseOther = visualImpairmentOtherCause
}
caseVisualImpairmentCauses.add(caseVisualImpairmentCause)
}
return caseVisualImpairmentCauses
}
那个电话是
obpCaseInstance.visualImpairmentCauses = caseService.bindVisualImpairmentCause(visualImpairmentPrimaryCauseId, listOfCaseVisualImpairmentCauses, visualImpairmentOtherCause)
知道为什么会发生此错误吗?