object引用未保存的瞬态实例,仅在尝试使用空值保存时出错

时间:2013-06-07 19:11:45

标签: spring hibernate

我有一个对象EvalQuestionType,它与另一个对象EvalSelectGroup有一对多的关系。我以这样的弹簧形式保存关系:

<tr>
    <th><sf:label path="evalSelectGroup.id">Select Group</sf:label>
    <td><sf:select path="evalSelectGroup.id">
            <sf:option value="">None</sf:option>
            <sf:options items="${selectGroups}" itemLabel="name" itemValue="id" />
        </sf:select>        
    <br />
    <sf:errors path="evalSelectGroup.id" cssClass="error" /></td>
</tr>

如果我选择一个选项,它可以正常工作,但如果我尝试使用None选择保存(空),我会得到瞬态实例错误。该值可以为null(在db和我的hibernate映射文件中)。是否有一种特殊的方法来格式化Spring表单中的空值?

春季3.2.1 Hibernate 3.6

1 个答案:

答案 0 :(得分:0)

这可能不是最佳或正确的方法,但在控制器中,如果我接受表单传递的EvalQuestionType对象并将evalSelectGroup对象设置为null,则它可以正常工作。

//if none selected in form
if(questionType.getEvalSelectGroup().getId() == null){
    questionType.setEvalSelectGroup(null);
}