Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Der einfachste One-to-Many-Map-Fall in Hibernate funktioniert nicht in MySQL

Und natürlich schwitze ich stundenlang an dem Problem, poste es hier und eine Minute später...

Wie auch immer, die Antwort ist das mappedBy-Element der @OneToMany-Anmerkung:

@OneToMany(cascade = CascadeType.ALL, fetch=FetchType.LAZY, mappedBy="member")
@MapKey(name = "name")
private Map<String, Preferences> preferences
         = new HashMap<String, Preferences>(); 

Was einen gewissen Sinn ergibt:Welches Feld in der Viele-Entität zeigt zurück auf die Eine-Entität? Selbst wenn man zulässt, dass die Suche nach einem passenden @ManyToOne-Feld zu fehleranfällig war, denke ich, dass das, was sie getan haben (unter der Annahme, dass eine Zuordnungstabelle existiert), noch schlimmer ist.