tenhu essas duas classes que achei de um exemplo da net:
@Entity
@Table(name = "perfil")
public class Perfil implements java.io.Serializable, GrantedAuthority {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id_perfil")
private Long id;
@Column(name = "descricao")
private String descricao;
@ManyToMany(fetch=FetchType.EAGER)
@JoinTable(name = "usuario_perfil", joinColumns = @JoinColumn(name = "id_perfil"), inverseJoinColumns = @JoinColumn(name = "id_usuario"))
private List<Usuario> usuarios = new ArrayList<Usuario>();
@Transient
public String getAuthority() {
return this.descricao;
}
@Transient
public int compareTo(Object o) {
return this.compareTo(o);
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getDescricao() {
return descricao;
}
public void setDescricao(String descricao) {
this.descricao = descricao;
}
public List<Usuario> getUsuarios() {
return usuarios;
}
public void setUsuarios(List<Usuario> usuarios) {
this.usuarios = usuarios;
}
e essa
@Entity
@Table(name="usuario")
public class Usuario implements java.io.Serializable, UserDetails {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "id_usuario")
private Long id;
@Column(name = "login")
private String login;
@Column(name = "senha")
private String senha;
private boolean ativo = true;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "usuario_perfil", joinColumns = @JoinColumn(name = "id_usuario"), inverseJoinColumns = @JoinColumn(name = "id_perfil"))
private List<Perfil> perfis = new ArrayList<Perfil>();
@Transient
public Collection<GrantedAuthority> getAuthorities() {
List<GrantedAuthority> lista = new ArrayList<GrantedAuthority>();
for(Perfil perfil : getPerfis()) {
lista.add(new GrantedAuthorityImpl(perfil.getAuthority()));
}
return lista;
}
@Transient
public String getPassword() {
return this.senha;
}
@Transient
public String getUsername() {
return this.login;
}
@Transient
public boolean isAccountNonExpired() {
return this.ativo;
}
@Transient
public boolean isAccountNonLocked() {
return this.ativo;
}
@Transient
public boolean isCredentialsNonExpired() {
return this.ativo;
}
@Transient
public boolean isEnabled() {
return this.ativo;
}
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public boolean isAtivo() {
return ativo;
}
public void setAtivo(boolean ativo) {
this.ativo = ativo;
}
public List<Perfil> getPerfis() {
return perfis;
}
public void setPerfis(List<Perfil> perfis) {
this.perfis = perfis;
}
}
comecei a estuder hibernate com spring hoje, eu pensei que depois que eu criei o banco, quando eu rodasse o projeto o hibernate criaria essas duas tabelas,
essas tabelas é pra fazer login, gostaria de saber como ficaria no banco de dados essas classe? pra eu poder criar as tabelas no banco na mao e inserir os dados pra eu conseguir logar no sistema?