Hallo!
Ich habe ein Proble mit der Benutzung von Stored Procedures. Ich benutze ein Hibernate mapping Dokument in Verbindung mit EJB3.
(jboss 4.0.3SP1 ohne ejb rc4, Datenbank Sybase ASA9)
Das Mapping Dokument sieht so aus:
Code:
<class name="xy.classname">
<id name="xxx" type="integer" column="xxx"/>
<property name="yyy" type="string" column="yyy"/>
...
</class>
<sql-query name="QUERYNAME" callable="true">
<return class="xy.classname">
<return-property name="xxx" column="xxx"/>
<return-property name="yyy" column="yyy"/>
...
</return>
{ call stp_procedurename(:param1,:param2,....) }
</sql-query>
Das funktioniert wunderbar wenn ich nur ein Objekt als Rückgabe habe. Wenn die Procedure jedoch mehrere Zeilen zurück gibt bekomme ich eine Liste bei der die Anzahl der Einträge zwar stimmt; jedoch sind alle enthaltenen Objekte gleich. jeder Eintrag bezieht sich auf das erste Objekt in der Liste. Der Aufruf sieht so aus:
Code:
List list = null;
list = em.createNamedQuery("QUERYNAME")
.setParameter("xxx",xXx)
.setParameter("yyy",yYy)
.getResultList();
Was habe ich falsch gemacht? Bitte helft mir!!!