私はSpringブートを使用しており、ユーザーとスキルの間に多対多の関係を実装しようとしています。 user_id列とskill_id列を持つusers_skillsテーブルがあります。関係を実装しようとすると、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 ;
}
}
クラスの先頭にこれを書いてください
import javax.persistence.JoinColumn;
Eclipseがコンテキストメニューにインポートするためのリンクを表示しない場合がありますが、そこにあります。それが誰かを助けることを願っています。