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

JPA映射报错:mappedBy引用未知目标实体属性求助

JPA双向关联映射错误修复

错误原因

你的报错根源是Customer实体中@OneToMany注解的mappedBy属性值配置错误。mappedBy需要指定关联实体中指向当前实体的属性名称,而非关联实体的类名或其他无关名称。

具体错误点

  • Customer类中addresses字段的@OneToMany(mappedBy = "address"):Address实体里指向Customer的属性是customer,不是address
  • Customer类中subscriptions字段的@OneToMany(mappedBy = "subscription"):Subscription实体里指向Customer的属性是customer,不是subscription

修正后的Customer实体代码

package com.ms.example.model;

import lombok.*;

import javax.persistence.*;
import java.time.*;
import java.util.*;

@Getter
@Setter
@NoArgsConstructor
@Entity
@Table(name = "customer")
public class Customer {
    @Id
    @Column(name = "customer_id")
    private String customerId;
    @Column(name = "first_name")
    private String firstName;
    @Column(name = "last_name")
    private String lastName;
    @Column(name = "email_id")
    private String emailId;
    @Column(name = "phone_number")
    private Long phoneNumber;
    @Column(name = "creation_date")
    private LocalDate creationDate;
    // 修正mappedBy值为address实体中指向customer的属性名"customer"
    @OneToMany(mappedBy = "customer")
    private List<Address> addresses;
    // 修正mappedBy值为subscription实体中指向customer的属性名"customer"
    @OneToMany(mappedBy = "customer")
    private List<Subscription> subscriptions;
}

其他实体说明

Address和Subscription实体中的@ManyToOne与@JoinColumn配置是正确的,无需修改,它们已正确指定关联的外键字段customer_id以及指向Customer的属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 03:50:47