Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Hibernate não cria tabela

Amigos, minha tabela "User" não está sendo criada, apenas as tabelas "Role" e "user_role".

Mesmo especificando o nome da tabela e da coluna, ele não cria.

A tabela "user_role" é criada por causa do relacionamento @OneToMany entre as duas certo? fiquei nessa duvida.

ENTIDADES

@Entity
@Table(name="user")
public class User implements UserDetails {

    private static final long serialVersionUID = 1L;

    @Id
    @Column(name="email")
    private String email;
    private String name;
    private String password;


    @OneToMany(fetch=FetchType.EAGER)
    private List<Role> roles = new ArrayList<>();

    @Override
    public Collection<? extends GrantedAuthority> getAuthorities() {
        return this.roles;
    }

    @Override
    public String getPassword() {
        // TODO Auto-generated method stub
        return this.password;
    }

    @Override
    public String getUsername() {
        // TODO Auto-generated method stub
        return this.email;
    }

    @Override
    public boolean isAccountNonExpired() {
        // TODO Auto-generated method stub
        return true;
    }

    @Override
    public boolean isAccountNonLocked() {
        // TODO Auto-generated method stub
        return true;
    }

    @Override
    public boolean isCredentialsNonExpired() {
        // TODO Auto-generated method stub
        return true;
    }

    @Override
    public boolean isEnabled() {
        // TODO Auto-generated method stub
        return true;

    // Getters and setters
            ...
    }
@Entity
public class Role implements GrantedAuthority{

    private static final long serialVersionUID = 1L;

    @Id
    private String name;

    @Override
    public String getAuthority() {
        return this.name;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
}

Aqui tem print das Tabelas

https://drive.google.com/open?id=1B5-Wb4ipRaCYfOVp3T-SvABLxRMaVpyU

2 respostas

Olá Matheus, tudo certo? Está bem estranho mesmo, seu código me parece correto. Tente dropar a sua database no banco e rodar o programa novamente. Aguardo seu feedback.

solução!

Opa Tahis, obrigado pela ajuda!

Estava passando mal por esses dias e não tive tempo de postar a solução que foi mudar o nome da classe e consequentemente o nome da tabela, pois "user", é uma palavra reservada pelo postgree. Com a anotation @table somente, não resolveu o meu problema.

Obrigado por sua atenção!