Ich habe die folgende Klasse als Abrufen den ersten Eintrag aus der Liste und deren Umwandlung in int
public class BrokerInvoiceLineItem {
private int attachmentCount;
public int getAttachmentCount() {
return attachmentCount;
}
public void setAttachmentCount(int attachmentCount) {
this.attachmentCount = attachmentCount;
}
}
die benannte Abfrage in XML unter
gezeigt ist<sql-query name="attachmentQuery">
<![CDATA[select count(iilnmp.INV_LINE_NOTE_ID) from IOA_INV_LINE_NOTE_MAP iilnmp ,
IOA_INVOICE_LINE_NOTES iiln , IOA_INVOICE_LINE iil
where iilnmp.INV_LINE_NOTE_ID = iiln.ID and iiln.INLI_ID =iil.id and iil.ID = ?]]>
</sql-query>
unten jetzt ist die Operation, die ich bin wo, wo aus einer Liste bei Index 0 ich den Wert abrufen, aber ich bekomme einen Kompilierungsfehler, wie ich den Wert in Index 0 in Int-Typ umgewandelt werden muss, dann nur ich kann setzen bitte beraten, wie kann ich erreichen das gleiche
Query query = session.getNamedQuery("attachmentQuery");
query.setParameter(0, itrBrokerInvoiceLineItem.getId());
List attachCount = query.list();
if (attachCount != null && attachCount.size() > 0) {
if (attachCount.get(0) != null) {
itrBrokerInvoiceLineItem.setAttachmentCount(attachCount.get(0));
}
}
die Übersetzungsfehler, die ich bekommen habe ist The method setAttachmentCount(int) in the type BrokerInvoiceLineItem is not applicable for the arguments (Object)
ich meine Frage bearbeitet haben Sie, wie ich bin mit Hibernate 3.1, in dem query.getsingleresult Methode ist nicht da bitte
Wo genau Ersetzen verwenden ändern ist der Fehler? Was ist der Stack-Trace? – Idos
Wie sieht die benannte Abfrage aus? –
Sie haben eine 'Liste' im Raw-Typ erstellt (Typ 'Objekt') und versuchen, einen Wert davon im 'int'-Typ zu speichern. Das ist nicht erlaubt. Ich weiß nicht, welche Werte 'Query.list()' zurückgibt, aber versuche, deine Liste mit den Diamantoperatoren zu deklarieren ('List'). –
Lefteris008