Murillo Pezzuol 0 Denunciar post Postado Março 28, 2019 Na sessão onde criamos nossa tabela de Usuário e Role, usamos anotações Hibernate. Quando eu crio minha classe Usuario e Role no curso o professor deixa o campo 'email' da classe Usuario e 'nome' da classe Role como @Id. Quando eu subo meu servidor, no console ele aparece o create das tabelas, porém no banco ele não cria as tabelas. Se eu anotar o @Id em um campo int, ele funciona, porém em campo String não. O que devo fazer? já tentei de tudo, e eu não queria deixar Usuario e Role com campo id atoa só para funcionar. Segue abaixo a classe de como o curso nos mostra, porém ele não cria a tabela no banco com o @Id em um campo String. No Console aparece o 'create table' normalmente, porém no banco não é criado a tabela. Toda vez que sobe a aplicação ele diz que criou a tabela, mas não cria. @Entity public class Usuario implements UserDetails{ private static final long serialVersionUID = 1L; @Id private String email; private String nome; private String senha; @OneToMany(fetch=FetchType.EAGER) private List<Role> roles = new ArrayList<Role>(); //Métodos e outros.... //Getter's and Setter's... } Para criar a tabela eu preciso criar o @Id em um campo int, long etc.. Segue abaixo. @Entity public class Usuario implements UserDetails{ private static final long serialVersionUID = 1L; @Id @GeneratedValue(strategy=GenerationType.IDENTITY) private int id; private String email; private String nome; private String senha; @OneToMany(fetch=FetchType.EAGER) private List<Role> roles = new ArrayList<Role>(); //Métodos e outros.... //Getter's and Setter's... } Quero criar a tabela de acordo com o que está no curso, em um campo String, como poderia ser feito? Estou utilitando o banco MySQL 8.0.13. Compartilhar este post Link para o post Compartilhar em outros sites