【问题标题】:JPA ManytoMany Relationship "JoinColumn cannot be resolved to a type" errorJPA 多对多关系“JoinColumn 无法解析为类型”错误
【发布时间】: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_idskill_id 真的是您的users_skills 表中的 名称吗?
  • 是的。这不是正确的方法吗?
  • 在您的 sn-p 中,您不显示导入语句。您的错误似乎是您的 IDE 中的编译问题。会不会像忘记import javax.persistence.JoinColumn语句那么简单?
  • 谢谢你,我真笨。 IDE 的消息具有欺骗性,因为没有建议导入。请将其添加为接受它的答案

标签: java spring jpa many-to-many


【解决方案1】:

把这个写在你班级的开头

import javax.persistence.JoinColumn;

有时 Eclipse 不会在上下文菜单中显示导入它的链接,但它就在那里。希望它会对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2014-02-07
    • 1970-01-01
    • 1970-01-01
    • 2020-07-22
    • 1970-01-01
    • 1970-01-01
    • 2016-01-14
    • 1970-01-01
    • 2017-12-31
    相关资源
    最近更新 更多