JPA OneToMany - Hilfstabellen auflösen

werdas34

Bekanntes Mitglied
Hallo,

ich habe eine Klasse die OneToMany verwendet und JPA erzeugt automatisch Hilfstabellen. Diese würde ich gerne auflösen. Ich weiß das sich an der Funktionalität nichts ändert und Performance vermutlich auch nur in sehr kleinem Maße besser wird.
Aber mich stört es in der GUI wenn da so viele extra Tabellen sind.

Meine Klasse sieht ungefähr so aus:
Java:
@Entity
public class Test{
    @Id
    private long id;
    @OneToMany
    //@JoinColumn(name = "testId")
    private List<Status> status;
    @OneToMany
    //@JoinColumn(name = "testId")
    private List<Note> notes;
}


Die Klassen Status und Note haben kein Attribut Test oder sonst einen Vermerk auf die Beziehung zur Test-Klasse.
Ich habe es mit JoinColumn versucht, aber da habe ich immer noch die Hilfstabellen. Geht das nur mit mappedby oder mache ich was falsch?

Ich hoffe das Beispiel erzeugt Hilfstabellen. Da das Projekt schon größer ist und ich grade den Code nicht da habe. Aber die Klassen sehen letztendlich recht ähnlich aus.
Datenbank ist H2.

mfg werdas34
 

LimDul

Top Contributor
Aus meiner Sicht musst du das über mappedBy machen und in der anderen Entität (Status) die Rückbeziehung pflegen. Du hast zwei Tabellen - Test & Status. Eine Spalte in Test funktioniert nicht, wenn du aufs die Hilfstabellen verzichten willst, muss die Spalte in Status rein - ergo muss man das in Status pflegen.

Eventuell kann man da über die orm.xml was tricksen oder gar ganz obskure Lösungen wo man direkt Hibernate Listeners/Intercepters was baut. Aber das nur weil man es unschön findet wäre aus meiner Sicht ein massives Antipattern.
 

Ähnliche Java Themen

Neue Themen


Oben