Olás,
Tenho as seguintes entities
@Entity
@Table(name = "users")
public class User implements Serializable {
@Id @GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column
private String email;
@Column(name = "hashed_password")
private String password;
@Column(name = "account_status")
private boolean accountStatus;
@ManyToMany(targetEntity = Role.class, fetch = FetchType.LAZY, cascade = CascadeType.ALL)
@JoinTable(name = "users_has_roles",
joinColumns = @JoinColumn(name = "users_id"),
inverseJoinColumns = @JoinColumn(name = "roles_id")
)
private Collection<Role> roles;
public boolean addRole(Role role) {
if(roles == null) {
roles = new HashSet<Role>();
}
return roles.add(role);
}
//getters and setters
}
@Entity
@Table(name = "roles")
public class Role implements Serializable {
private static final long serialVersionUID = -8141540060286714020L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer id;
@Column
private String name;
}
Na entity user eu tenho a tabela de relacionamento users_has_roles porém quando gravo um user com uma role, não é persistido os dados nessa tabela onde são feitos os joins.
Eu preciso criar uma entity para poder persistir nessa tabela de Joins? ou como é que tenho que fazer para poder persistir certinho?
Obrigado