3
respostas

Relacionamento OnToMany - Tabela Produto_Categoria criada sem marcação de chave

Olá,

Não importa o que eu faça, ao usar a marcação @OneToMany para a lista de produtos o hibernate não cria a tabela com as marcações de chave primaria e multipla. Sem essa marcação o relacionamento na pratica é ManyToMany. Isso aconteceu com mais alguem?

Informações complementares: 1) Somente alterei a classe Produto, inseriondo a linha abaixo:

    @OneToMany
    private List<Categoria> categorias = new ArrayList<>();

2) resultado do desc Produto_Categoria;

+---------------+---------+------+-----+---------+-------+
| Field         | Type    | Null | Key | Default | Extra |
+---------------+---------+------+-----+---------+-------+
| Produto_id    | int(11) | NO   |     | NULL    |       |
| categorias_id | int(11) | NO   |     | NULL    |       |
+---------------+---------+------+-----+---------+-------+

3) Reiniciei o servidor diversas vezes, mas a tabela sempre é criada da mesma forma.

4) Informações da minha instalação: mysql Server version: 5.7.24-0ubuntu0.18.10.1 (Ubuntu) hibernate-entitymanager: 4.3.5.Final Eclipse Java EE IDE for Web Developers: Version: 2018-09 (4.9.0) | Build id: 20180917-1800 TomCat: v8.5

3 respostas

E se você tentasse alterar a tabela diretamente pelo mysql? Se o hibernate não reclamar todos saem ganhando.

André, não vejo problema na tabela não ter a marcação. Apenas estou curioso para saber se isso é somente comigo ou se é algum bug no hibernate.

Difícil dizer, já estamos na versão 5.3.7.Final do hibernate. Fui ver no site deles se tinham algum histórico de erro e o que mais se aproxima do seu erro https://hibernate.atlassian.net/browse/HHH-9243 (que eu acho que não é isso mas pode ser correlacionado) foi dito que não vai arrumar pois não dão mais suporte para versões abaixo da 5.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software