Mysql SpringBoot JPA MappedBy引用未知的目标实体属性

Mysql SpringBoot JPA MappedBy引用未知的目标实体属性,mysql,spring,hibernate,spring-boot,jpa,Mysql,Spring,Hibernate,Spring Boot,Jpa,错误:hibernate.AnnotationException:mappedBy引用未知的目标实体属性 我知道错误的原因,但我盯着它看的时间越长,就越找不到:)。我只需要另一个人的视角 以下是MySQL表: 然后我有用户、公司和交易的实体 关系如下所示: 交易: @ManyToOne @JoinColumn(name = "userId") User user; @ManyToOne @JoinColumn(name = "companyId") C

错误:hibernate.AnnotationException:mappedBy引用未知的目标实体属性

我知道错误的原因,但我盯着它看的时间越长,就越找不到:)。我只需要另一个人的视角

以下是MySQL表:

然后我有用户、公司和交易的实体

关系如下所示:

交易:

@ManyToOne
    @JoinColumn(name = "userId")
    User user;

    @ManyToOne
    @JoinColumn(name = "companyId")
    Company company;

公司

@JsonIgnore
    @OneToMany(mappedBy = "transaction")
    List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "company")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "company")
List<Transaction> transactions;
因此,错误在于这段关系,但我无法发现我的错误


谢谢:)

也许您可以尝试按“用户”字段映射。
也许你会在那里看到有人问这个问题

也许你会尝试按字段“user”映射。
可能你会在那里看到有人问这个问题

公司

@JsonIgnore
    @OneToMany(mappedBy = "transaction")
    List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "company")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "company")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy=“公司”)
列出交易记录;
用户

@JsonIgnore
    @OneToMany(mappedBy = "transaction")
    List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "user")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "user")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy=“用户”)
列出交易记录;

mappedBy指的是连接到的字段的名称。@Aleksandr Zorin提供的链接有更多细节。我建议你看一看:)

公司

@JsonIgnore
    @OneToMany(mappedBy = "transaction")
    List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "company")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "company")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy=“公司”)
列出交易记录;
用户

@JsonIgnore
    @OneToMany(mappedBy = "transaction")
    List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "user")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "user")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy=“用户”)
列出交易记录;
mappedBy指的是连接到的字段的名称。@Aleksandr Zorin提供的链接有更多细节。我建议你看一看:)

应该是


公司

@JsonIgnore
    @OneToMany(mappedBy = "transaction")
    List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "company")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "company")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy=“公司”)
列出交易记录;

用户

@JsonIgnore
    @OneToMany(mappedBy = "transaction")
    List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "user")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "user")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy=“用户”)
列出交易记录;
在mappedBy属性中,您正在指定引用表中的字段,该字段应该映射到该字段。

它应该是


公司

@JsonIgnore
    @OneToMany(mappedBy = "transaction")
    List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "company")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "company")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy=“公司”)
列出交易记录;

用户

@JsonIgnore
    @OneToMany(mappedBy = "transaction")
    List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "user")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy = "user")
List<Transaction> transactions;
@JsonIgnore
@OneToMany(mappedBy=“用户”)
列出交易记录;
在mappedBy属性中,指定引用表中的字段,该字段应映射到该字段