You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Hibernate中@NotFound(action=EXCEPTION)未抛出异常求助

问题求助:关联实体不存在时抛出异常不符合预期

环境信息

  • hibernate:5.6.14.Final
  • spring:5.3.25
  • spring-jpa:2.7.7
  • java:Amazon 11 corretto
  • Sybase:ASE 12.5.4

数据库现状

使用Sybase ASE 12.5.4,数据库表情况如下:

  • PAY表:包含两条记录,分别是('BEL','BELGIUM')、('AND','ANDORRE')
  • PERSON表:包含一条记录(1, 'Doe', 'john', 'AAA')
    两张表之间没有设置外键约束。

实体类配置

  • Pays实体类与PAY表对应
  • Person实体类与PERSON表对应,其中Person类的pays字段标注了@ManyToOne、@NotFound(action = NotFoundAction.EXCEPTION)注解

问题详情

调用PersonOperationsImpl.get(1)方法时,预期会抛出javax.persistence.EntityNotFoundException或Hibernate FetchNotFoundException,但实际抛出的是业务异常“PERSON 1 not found”。实际上PERSON 1这条记录是存在的,只是它关联的PAY记录不存在。并且只有在处理嵌套实体和集合时才会触发这个异常,求问题原因。

内容的提问来源于stack exchange,提问作者jocko

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 00:56:09