2016-10-24 4 views
-1

Ich möchte so etwas wie dies mit einer HQL-Abfrage tun:Hibernate HQL mehrere neue Objekte

SELECT new Table1(a.field1, a.field2, new Table2(b.field1, b.field2, b.field3)) 
FROM Table1 a INNER JOIN a.table2 as b where... 

Wissen Sie, wie ich es tun kann?

+3

Just do it, Mann! –

+0

Okay, wir wissen nicht, wie viele Attribute Table1 und Table2 haben. Wie auch immer, du kannst hier ein paar schöne Beispiele in SO finden. Das könnte dir schon helfen: http://stackoverflow.com/questions/26139386/hql-query-using-dot%C2%B4s-in-the- response- parameters – Tom

+0

Ich habe n Felder in meinen Tabellen. Ich möchte keine Felder abrufen, sondern nur Felder, die ich brauche. Sind wir verpflichtet, Felder in HQL auszuwählen und dann wie in Ihrem Beispiel eine Schleife in Java auszuführen? – Nan

Antwort

0

Also habe ich eine ziemlich Lösung gefunden:

SELECT new Table1(a.field1, a.field2, a.field3, b.field1, b.field2) 
FROM Table1 a INNER JOIN a.table2 as b where... 

Mit einem Konstruktor in Tabelle 1 wie:

Table1(afield1, afield2, afield3, bfield1, b.field2) { 
    this.afield1 = afield1; 
    this.afield2 = afield2; 
    this.afield3 = afield3; 
    this.table2 = new Table2(bfield1, b.field2); 
}