【发布时间】:2015-11-13 15:28:53
【问题描述】:
我正在使用 Spring Boot 并尝试在用户和技能之间实现多对多关系。我有一个表 users_skills,其中包含 user_id 和 Skill_id 列。尝试实现关系时,我在 STS 中的 @JoinColumn 注释中不断收到“JoinColumn 无法解析为类型”错误。下面是我的用户类
@Entity
@Table(name = "users")
public class User {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private long id;
private String email;
private String firstName;
private String lastName;
private List<Skill> skills = new ArrayList<Skill>();
protected User() {}
public User(String email,String firstName, String lastName) {
this.email = email;
this.firstName = firstName;
this.lastName = lastName;
}
public Long getId() {
return this.id;
}
public void setId(Long id) {
this.id = id ;
}
public String getEmail() {
return this.email;
}
public void setEmail(String email) {
this.email = email ;
}
public String getFirstName() {
return this.firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName ;
}
public String getLastName() {
return this.lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName ;
}
@ManyToMany
@JoinTable(name="users_skills",
joinColumns={@JoinColumn(name="user_id")},
inverseJoinColumns={@JoinColumn(name="skill_id")})
public List<Skill> getSkills(){
return skills;
}
public void setSkills(List<Skill> skills) {
this.skills = skills ;
}
}
【问题讨论】:
-
user_id和skill_id真的是您的users_skills表中的列 名称吗? -
是的。这不是正确的方法吗?
-
在您的 sn-p 中,您不显示导入语句。您的错误似乎是您的 IDE 中的编译问题。会不会像忘记
import javax.persistence.JoinColumn语句那么简单? -
谢谢你,我真笨。 IDE 的消息具有欺骗性,因为没有建议导入。请将其添加为接受它的答案
标签: java spring jpa many-to-many