Spring JPA 查询的时候提示错 org.hibernate.TransientObjectException
错误的信息为:
Caused by: java.lang.IllegalStateException: org.hibernate.TransientObjectException: object references an unsaved transient instance - save the transient instance before flushing
问题和解决
出现这个问题的情况有很多。
比如说在对多的关系中,没有进行映射,或者 Lazy Load 的问题的。
在这个地方的问题,我们的情况是调用 Repository 发送了一个空对象。
MlsOffice mlsOffice = mlsOfficeRepository.findDistinctFirstByMlsOfficeIdEqualsAndConfRetsEquals(officeId, new ConfRets());
我们可以通过后面 new 一个对象,然后再进行查询。
这个查询将会重现上面的错误。
因此,我们需要确定在查询的时候发送到后端的对象不应该为 null。
在代码中进行空对象检查是有必要的。
https://www.ossez.com/t/spring-jpa-org-hibernate-transientobjectexception/14145
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2020-10-13 Joda-Time – 可用的时区列表
2020-10-13 JWT 如何解码和获得令牌失效的日期
2019-10-13 Spring AMQP 发送消息到 RabbitMQ 收到 x-queue-type 错误
2018-10-13 Confluence 6 管理 Atlassian 提供的 App