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

JPA一对多双向关联触发EclipseLink-7154异常排查求助

问题根因

你遇到的是JPA双向关联配置的大小写匹配错误:

Exception Description: The attribute [retenciones] in entity class [class komp.model.ChequePropio] has a mappedBy value of [chequepropio] which does not exist in its owning entity class [class komp.model.RetencionChp]

错误核心是mappedBy的配置值和对端实体的属性名大小写不匹配:

  • 被关联的RetencionChp类中,指向ChequePropio的属性名为驼峰格式 chequePropio(P大写)
  • 你在ChequePropio的@OneToMany注解中,mappedBy填的是全小写 chequepropio,和实际属性名不一致
    JPA的mappedBy配置是严格大小写敏感的,名称完全一致才能正确识别关联关系。

修复方案

修改ChequePropio类中retenciones属性的注解配置,把mappedBy的值改为和对端属性完全匹配的驼峰格式:

@Entity
@Table(name = "chequepropio", uniqueConstraints = {
@UniqueConstraint(name = "ukchequepropio", columnNames = {"idbanco", "idempresa",   "idtipo", "numero"})})
public class ChequePropio implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int id;

    // 仅修改mappedBy的值为chequePropio即可
    @OneToMany(fetch = FetchType.LAZY,mappedBy = "chequePropio")
    private List<RetencionChp> retenciones;

    // 其余代码无需改动
    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }
}

修改完成后重启应用即可解决该校验错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:54:05