首页 > 解决方案 > @OneToMany 针对未映射的类,但类已映射

问题描述

我正在设置 spring 安全性,但是当我定义 @OneToMany 关系时,我得到了错误:

针对未映射的类使用@OneToMany 或@ManyToMany:loginApi.users.Users.roles[Security.Roleinfo]

我已经在这里尝试了大部分答案,是的,我正在从 javax.persistance 导入是的,@Entity 在每个类的顶部

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "users")
public class Users {
    @Id
    @Column(name="username")
    private String username;
    private String firstname;
    private String lastname;
    private int curreventid;
    private String email;
    private String password;
    private int points;
    private int phone;

        // problem part
    @OneToMany(cascade = CascadeType.ALL, fetch = FetchType.EAGER)
    @JoinTable(name = "usersrole", joinColumns = {@JoinColumn(name = "username")}, inverseJoinColumns = {@JoinColumn(name = "roleid")})
    private Set<Roleinfo> roles;
}

这是角色信息类:

@Entity
@Data
@AllArgsConstructor
@NoArgsConstructor
@Table(name = "roleinfo")
public class Roleinfo {

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private int roleid;
    private String roletitle;

}

现在我正在尝试将我的用户角色表加入到用户表中,该表有两列包含用户名和该用户的角色(roleid)。

任何帮助,将不胜感激!

标签: javaspring-bootspring-security

解决方案


感谢@JB Nizet,在阅读了文档后,我意识到我的安全包不在我的 springbootapp 包下,这意味着从未扫描用户类以查找 @Entity 标志。


推荐阅读