Ich versuche, die folgende Abfrage mit Kriterien zu generieren:Hibernate Kriterien Gruppe Abfrage ist falsch
select order_number, order_date, sum(order_amount)
from st_pur_orders
group by ORDER_NUMBER,ORDER_DATE;
Hier meine Kriterien:
Criteria cr = session.createCriteria(StPurOrders.class);
cr.setProjection(Projections.projectionList()
.add(Projections.property("orderNumber"), "orderDate")
.add(Projections.sum("orderAmount"))
.add(Projections.groupProperty("orderNumber"))
.add(Projections.groupProperty("orderDate")));
cr.setResultTransformer(Transformers.aliasToBean(PurOrderColl.class));
list = cr.list();
Aber die Abfrage im Hintergrund immer erzeugen, ist dies:
select this_.ORDER_NUMBER as y0_, sum(this_.ORDER_AMOUNT) as y1_,
this_.ORDER_NUMBER as y2_, this_.ORDER_DATE as y3_
from STOCK.ST_PUR_ORDERS this_
group by this_.ORDER_NUMBER, this_.ORDER_DATE;
Meine Frage ist, warum die ORDER_NUMBER
Feld zweimal aufgeführt werden?
Erhalten Sie eine korrekte Ergebnismenge oder sind in Ihren Ergebnissen tatsächlich doppelte Daten vorhanden? –
Es gibt tatsächlich doppelte Daten in meinen Ergebnissen und daher kann ich die PurOrderColl-Klasse nicht zuordnen, da ich dort nur drei Eigenschaften habe. – ErrorNotFoundException
@ErrorNotFoundException Ihre Kriterien haben bereits 'Projections.groupProperty (" orderNumber ")'. Ich sehe keine Notwendigkeit für 'Projections.property (" orderNumber "),'. Kannst du das bitte entfernen und versuchen. –