Acho que o mapeamento Usuario e Role não está certo no texto da aula. Quando tento inserir um perfil de role_admin para outro usuário, o mysql retorna o erro: ERROR 1062 (23000): Duplicate entry 'ROLE_ADMIN' for key.
Notei que na tabela de associacao USER_ROLE criada pelo Hibernate o role_admin ficou como chave primaria:
mysql> desc user_role;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| User_email | varchar(255) | NO | MUL | NULL | |
| roles_name | varchar(255) | NO | PRI | NULL | |
+------------+--------------+------+-----+---------+-------+
2 rows in set (0.01 sec)
mysql>
Codigo da classe User:
@Entity
public class User implements UserDetails {
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
private String email;
private String name;
private String passwd;
@OneToMany(fetch=FetchType.EAGER)
private List<Role> roles = new ArrayList<Role>();
Codigo da classe Role
@Entity
public class Role implements GrantedAuthority{
/**
*
*/
private static final long serialVersionUID = 1L;
@Id
private String name;
Alguém já passou por essa parte da aula e pode me ajudar?