Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

O caso de mapa um para muitos mais simples no Hibernate não funciona no MySQL


E claro, suo o problema por horas, posto aqui, e um minuto depois...

De qualquer forma, a resposta é o elemento mappedBy da anotação @OneToMany:
@OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="member")
@MapKey(name = "name")
private Map<String, Preferences> preferences
         = new HashMap<String, Preferences>(); 

O que faz certo sentido:qual campo na entidade Muitos aponta de volta para a entidade Um? Mesmo permitindo que procurar um campo @ManyToOne correspondente fosse muito propenso a erros, acho que o que eles fizeram (supondo a existência de uma tabela de mapeamento) torna ainda pior.