【问题标题】:object references an unsaved transient instance, Error only when trying to save with empty value对象引用未保存的瞬态实例,仅在尝试使用空值保存时出错
【发布时间】:2013-06-07 19:11:45
【问题描述】:

我有一个对象 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>

如果我选择一个选项,它工作正常,但如果我尝试保存时选择无(空)我会收到瞬态实例错误。该值可以为空(在数据库和我的休眠映射文件中)。有没有一种特殊的方法来格式化 Spring 表单选择中的空值?

春季 3.2.1 休眠 3.6

【问题讨论】:

    标签: spring hibernate


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 2016-06-02
      • 2023-04-05
      • 1970-01-01
      • 2010-12-12
      • 2012-11-08
      相关资源
      最近更新 更多