Wie nur ausgewählte Tabellenzeilen mappen?

Landei

Top Contributor
Ist wahrscheinlich ganz einfach, aber ich komme nicht drauf: Ich habe eine fest vorgegebene Tabelle, die ich mit einem Entity-Typ mappen will. Die Tabelle sieht so ungefähr so aus:

ID, name, purpose, zeugs...
1, foo, PRICING, ...
2, bar, INVENTORY, ...
3, bar, PRICING, ...
...

Was ist der beste Weg, damit nur die PRICING-Zeilen gemappt werden? Ich muss sicher ausschließen, dass jemals versehentlich andere Entities auftauchen. Brauche ich eine separate View, oder lässt sich das über Annotations steuern?
 

Foermchen82

Top Contributor
Ich denke mal, dass macht jeder OR-Mapper anders. Aber generell wird es sicher überall eine Möglichkeit geben, das komplette Mappen einer Tabelle durch eine Where-Statement zu präzisieren
 

Landei

Top Contributor
Hier die Lösung auf Stackoverflow:
Java:
@Entity
@Table(name="THE_TABLE")
@Inheritance(strategy=SINGLE_TABLE)
@DiscriminatorColumn(name="purpose", discriminatorType=STRING) //<------------
@DiscriminatorValue("PRICING") //<------------------
public class Pricing{ ... }

Habe es noch nicht ausprobiert, sollte aber laut Doc so funktionieren.
 

Ähnliche Java Themen

Neue Themen


Oben