org.hibernate.AnnotationException: mapappedby引用一个未知的目标实体属性.&



我想做一个"多对多"jpa映射。

我有一个名为"Account":

的表
@ManyToMany(fetch = FetchType.LAZY,
cascade = {
CascadeType.PERSIST,
CascadeType.MERGE
})
@JoinTable(name = "account_user",
joinColumns = { @JoinColumn(name = "account_id") },
inverseJoinColumns = { @JoinColumn(name = "user_id") })
private Set<User> users = new HashSet<>();

我有一个名为"User":

的表
@ManyToMany(fetch = FetchType.LAZY,
cascade = {
CascadeType.PERSIST,
CascadeType.MERGE
},
mappedBy = "user")
@JsonIgnore
private Set<Account> accounts = new HashSet<>();

我得到以下错误:

由:org.hibernate.AnnotationException: mappedBy引用一个未知的目标实体属性:com.bank.account.model.Account.user

join "多对多"名为accountuser的表;应该是由映射创建的。

任何帮助或提示将非常感激!

MappedBy必须引用目标类中的属性名。在您的示例中,它是users而不是user。

@ManyToMany(fetch = FetchType.LAZY,
cascade = {
CascadeType.PERSIST,
CascadeType.MERGE
},
mappedBy = "users")
@JsonIgnore
private Set<Account> accounts = new HashSet<>();

最新更新