java-forum.org
JBoss Seam
Alter Preis: 39,95 €
Jetzt: 0,00 €

zzgl. Versandkosten

Zurück   java-forum.org > Enterprise Java > Data Tier

Data Tier JPA, Transaktionsmanagement, Hibernate, iBatis

Antwort    
Themen-Optionen Thema durchsuchen Ansicht
Alt 16.01.2010, 15:49   #1 (permalink)
Neuer Benutzer
Bit
 
Registriert seit: 20.01.2007
Beiträge: 7
Abgegebene Danke: 1
Erhielt 0 Danke für 0 Beiträge
Standard Eclipselink Query auf Rootklasse gibt auch Unterklassen zurück

Guten Tag allseits! Ich habe mal wieder ein Problem, bei dem mir vielleicht jemand weiterhelfen kann...

Ich habe 2 Klassen, wobei die eine von der anderen erbt. Beide Klassen sind mittels Eclipselink JPA API persistent gemacht.

Das sieht bei mir ungefähr so aus:

Java Code: Quelltext in neuem Fenster öffnen
1
2
3
4
@Entity
@Table(name="Teams")
@Inheritance(strategy = InheritanceType.TABLE_PER_CLASS)
public class Team implements Comparable<Team>{...}
und
Java Code: Quelltext in neuem Fenster öffnen
1
2
3
@Entity
@Table(name="MissionTeams")
public class MissionTeam extends Team {...}

Wenn ich jetzt aber eine Abfrage der Form
Java Code: Quelltext in neuem Fenster öffnen
1
2
    Query qtm = entityManager.createQuery("select t from Team t");
    availableTeams = (java.util.List<Team>) qtm.getResultList()
durchlaufen lasse, werden mir auch alle gespeicherten Objekte vom Typ "MissionTeam" zurückgegeben, da Eclipselink auch alle vererbten Klassen miteinbezieht...

Dazu findet man auch recht einfach in der "Eclipselink User Guide (ELUG)" folgende Aussage:

Zitat: Using_Advanced_Query_API
Querying on an Inheritance Hierarchy

When you query on a class that is part of an inheritance hierarchy, the session checks the descriptor to determine the type of the class, as follows:

* If you configure the descriptor to read subclasses (the default configuration), the query returns instances of the class and its subclasses.
* If you configure the descriptor not to read subclasses, the query returns only instances of the queried class, but no instances of the subclasses.
* If you configure the descriptor to outer-join subclasses, the query returns instances of the class and its subclasses.
* If neither of these conditions applies, the class is a leaf class and does not have any subclasses. The query returns instances of the queried class.
Also versucht mich über "descriptor" schlau zu machen. Hier gibt es ebenfalls Artikel in der ELUG dazu, allerdings gibt der nur eine Anleitung wie man einen Descriptor in einem "Java Workbench Projekt" anlegen kann, bzw. der gebotenen Javacode für die programmatische Methode ist mehr als dürftig:
Zitat:
How to Create a Relational Descriptor Using Java

This example shows how to create a relational descriptor using Java code.


Creating a Relational Descriptor in Java

RelationalDescriptor descriptor = new RelationalDescriptor();
descriptor.setJavaClass(YourClass.class);
Hat jemand ein Beispiel, aus dem hervorgeht, wie und vor allem wo so ein "Descriptor" implementiert werden muss und vielleicht noch die entsprechende Option um mein Problem zu lösen?

Danke für die Aufmerksamkeit.

Christian aka Mable

Referenzen:
Using Advanced Query API (ELUG) - Eclipsepedia
Creating a Relational Descriptor (ELUG) - Eclipsepedia
__________________
Wer niemandem nützt, lebt vergeblich
Mable ist offline  
Bei Google nach dem markiertem Wort suchen Bei Wikipedia nach dem markiertem Wort suchen Im Forum nach dem markiertem Wort suchen
Mit Zitat antworten
Antwort    

Lesezeichen

Latex Maths & Physics Editor ...

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen erlaubt, neue Themen zu verfassen.
Es ist Ihnen erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JPQL Query für eine Tabellenansicht talen Datenbankprogrammierung 2 23.04.2009 11:29
[Hibernate] Named query not found The_S Data Tier 8 20.04.2009 15:26
JPQL Query erstellen cowabunga1984 Java Basics - Anfänger-Themen 5 16.09.2008 17:22
Neuer Query wird nicht erkannt DayXtry Datenbankprogrammierung 10 08.12.2006 17:26
Mühe mit model-update gast-00 Chat - NoPaste 3 02.11.2005 13:10


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:44 Uhr.


Powered by vBulletin® Version 3.8.6 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.2
Thanks for Smilies by smilies.4-user.de