Hallo zusammen,
ich schlage mich gerade mit Hibernate 4.3.5 herum.
Nachdem ich feststellen musste, dass Query#uniqueResult() einen Query#list() Aufruf ohne Einschränkung macht und dessen Ergebnis dann erst prüft, kamen mir schon erste Zweifel. Dieses Verhalten führte in meiner Anwendung zu einer OutOfMemoryException. Ich habe jetzt eine eigene Method implementiert, welche das Ergebnis auf maximal zwei Elemente begrenzt, diese Liste dann auf 0, 1 oder mehr prüft und ggf. eine Exception wirft.
Nun hänge ich aber schon wieder. Ich verwende Parameter, welche ich über deren Index in der Abfrage referenziere (also ?1, ?2, usw.). In HQL funktioniert das wunderbar:
Mache ich das gleiche jedoch in einer SQL Abfrage (sprich dann mit einer SQLQuery), bekomme ich eine Fehlermeldung, dass der Parameter Index mit 1 beginnen muss, aber leider 1 ist. Ah ja, alles okay.
Hat jemand von Euch eine Idee, was ich falsch mache? Ich meine außer Indizes statt Namen (bspw. ":cn") zu verwenden.
ich schlage mich gerade mit Hibernate 4.3.5 herum.
Nachdem ich feststellen musste, dass Query#uniqueResult() einen Query#list() Aufruf ohne Einschränkung macht und dessen Ergebnis dann erst prüft, kamen mir schon erste Zweifel. Dieses Verhalten führte in meiner Anwendung zu einer OutOfMemoryException. Ich habe jetzt eine eigene Method implementiert, welche das Ergebnis auf maximal zwei Elemente begrenzt, diese Liste dann auf 0, 1 oder mehr prüft und ggf. eine Exception wirft.
Nun hänge ich aber schon wieder. Ich verwende Parameter, welche ich über deren Index in der Abfrage referenziere (also ?1, ?2, usw.). In HQL funktioniert das wunderbar:
Code:
FROM bill WHERE (customerNumber = ?1)
Code:
SELECT COUNT(id) FROM bill WHERE (customerNumber = ?1)
Hat jemand von Euch eine Idee, was ich falsch mache? Ich meine außer Indizes statt Namen (bspw. ":cn") zu verwenden.