首页 > 解决方案 > Spring Boot JPA OneToOne 参考 - 空参考的 TransientPropertyValueException

问题描述

我有一个带有 JPA 和 Thymeleaf 的 Spring Boot 应用程序。我使用 2 个实体和一个可为的OneToOne 引用。但是我在保存第一个实体而不引用第二个实体时遇到了问题。在界面中,输入字段为空,但在提交表单时,引用填充了一个新对象。当我现在保存第一个对象时,我得到一个 TransientPropertyValueException。

JPA bean 参考:

@OneToOne(optional = true)
@JoinColumn(name = "sellId", referencedColumnName = "id", nullable = true)
private Sell sell;

输入字段

<div class="form-group row">
    <label for="value" class="col-sm-2 col-form-label">SellId</label>
    <div class="col-sm-10">
        <input type="text" class="form-control " th:field="*{sell.id}" id="sellId" placeholder="-">
    </div>
</div>

提交对象

这是提交给存储库控制器的对象。

提交对象截图

例外:

org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - 在刷新之前保存瞬态实例:

预期对象

我想要的是这样的:

预期对象的屏幕截图

我很感激任何解决问题的建议。谢谢

标签: javaspring-bootjpa

解决方案


推荐阅读