1 пользователь ==> много ролей
1-роль ==> много компонентов
для этого я настроил как
userDao. java
@Entity
@Table(name = "User_info")
public class UserDao {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int userId;
@Column(name="username")
private String username;
@Column(name="password")
@JsonIgnore
private String password;
@ManyToMany(cascade=CascadeType.MERGE,fetch = FetchType.EAGER)
@JoinTable(
name="user_role",
joinColumns={@JoinColumn(name="USER_ID", referencedColumnName="userId")},
inverseJoinColumns={@JoinColumn(name="ROLE_ID", referencedColumnName="roleId")})
private List<Role> roles;
Роль. java
@Entity
@Table(name = "roles")
public class Role {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Integer roleId;
@Column(nullable = false, unique = true)
@NotEmpty
private String roleName;
@ManyToMany(mappedBy = "roles")
private List < UserDao > users;
@ManyToMany(cascade=CascadeType.MERGE,fetch = FetchType.EAGER)
@JoinTable(
name="role_component",
joinColumns={@JoinColumn(name="ROLE_ID", referencedColumnName="roleId")},
inverseJoinColumns={@JoinColumn(name="COMP_ID", referencedColumnName="compId")})
private List<Component> components;
компонент. java
@Entity
@Table(name = "component")
public class Component {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Integer compId;
@Column(nullable = false, unique = true)
@NotEmpty
private String compName;
@ManyToMany(mappedBy = "component")
private List < Role > roles;
Я получаю следующую ошибку. Пожалуйста, предложите ошибку
Вызывается: org.hibernate.AnnotationException: mappedBy ссылается на неизвестное свойство целевого объекта: net .springboot.helloworldapp.bean.Role .component в net .springboot.helloworldapp.bean.Component.roles at org.hibernate.cfg.annotations.CollectionBinder.bindStarToManySecondPass (CollectionBinder. java: 785)