Hibernate Verwendung von alias mit Kriterien
Ich bin ein bisschen verwirrt darüber, Aliase, um ehrlich zu sein, so bin ich der Hoffnung, jemand kann mir helfen, Sie besser zu verstehen. Um zu erklären, was ich bin fehlt ich werde die Beispiele der Nutzung.
Können sagen, dass ich habe:
Criteria criteria = session.createCriteria(Car.class)
criteria.createAlias("doors", "doors");
Das bedeutet, dass jetzt kann ich mit einigen Restrcitions zu finden, eine Tür, die auf der linken Seite der Car
oder etwas entlang jenen Linien.
Nun meine Frage ist, wenn ich, wo Sie mehrere alias:
criteria.createAlias("doors", "doors").createAlias("doors.keytype", "keytype");
und
criteria.createAlias("tier".tier);
Was bedeutet das? Dass mein criteria
Objekt hat all diese Pseudonyme? In dem Fall wird es getAlias()
Methode zurückgeben?
Aus der API:
Bekommen Sie den alias der Person, welche von diesen Kriterien Instanz.
War ich unter dem Eindruck, dass alle alias gekapselt, die von dieser Instanz? Bin ich falsch? Habe ich irgendwie verloren, meine erste alias?
Auch wenn ich so etwas mache:
Criteria criteri2 = criteria.createAlias("tier".tier);
Bedeutet dies, dass beide criteria
und criteria2
Punkt sind die gleichen Criteria
oder diff und welche Punkte zu welchem alias?
Darüber gegeben, dass jeder createAlias
gibt eine Criteria
sollte ich weisen, dass der ursprüngliche criteria
oder die neue?
Nun, ich hoffe, Sie sehen meine Verwirrung.
InformationsquelleAutor Boris Horvat | 2013-02-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ja
Den
getAlias
gibt den alias der Klasse verwendet, in dercreateCriteria(Car.class)
- Sie haben nicht verwendet ein, aber könnten Sie angeben:createCriteria(Car.class, "c")
, in denencriteria.getAlias()
zurückkehren würdec
.Meisten Methoden in Kriterien API Rückkehr die eigene Kriterien, um zu unterstützen, Verkettung, für die Einrichtung verwenden. Sie brauchen nicht zu speichern, die zurückgegeben Kriterien Instanz, da das Objekt (und seine internen Eigenschaften) wird intern verändert.
ist ähnlich
so ...
... Nein. Es wäre nicht rentabel für die Jungs von hibernate zu beschränken, die Kriterien, die Spezifikation zu verpflichten, die Programmierer zum speichern der Instanz zurückgegeben, und es würde irgendwie gegen die OO-standards zu übernehmen, dass die Kriterien-Objekt wird nicht verändert.
InformationsquelleAutor nuno