Blaze Persistenz -Unterabfrage aus komplexer AbfrageJava

Java-Forum
Anonymous
 Blaze Persistenz -Unterabfrage aus komplexer Abfrage

Post by Anonymous »

Ich arbeite an einem sehr großen Projekt, dass Blaze Persistenz es ist Kern. Wir haben eine sehr komplexe Architektur, die alle DB -Operationen letztendlich an einer bestimmten Blaze -Abfrage stellten, die so aussieht: < /p>

Code: Select all

 return criteriaBuilder
.from(entityClass, "entityData")
.innerJoinOn(ChangeData.class, "changes")
.on("changes.id").eqExpression("entityData.id")
.end()
.select("entityData")
.select("ROW_NUMBER() OVER (PARTITION BY changes.id ORDER BY changes.sequence DESC)", "rn")
.select("changes.id", "changes_id")
.select("changes. sequence")
.selectNew(entityObjectBuilder);
< /code>
Jetzt möchte ich diese gesamte CB -Ausgabe wie SO einwickeln: < /p>
 Select * from (the above cb sql output) where rn = 1;
//some sort of a group by changes.id by max changes.sequence
< /code>
Ich habe ein paar Probleme damit: < /p>
Wenn ich es tue .FromsUbQuery Ich müsste alle Attribute von EntityClass manuell binden, was nicht möglich ist, weil ich es erhalte, wie es bei der Input (es wird angenommen, generisch zu sein). Internet… < /p>
Ich habe versucht, Folgendes zu tun: < /p>
return criteriaBuilder
.fromEntitySubquery(entityClass, "entityDataGroupedById")
.from(entityClass, "entityData")
.innerJoinOn(ChangeData.class, "changes")
.on("changes.id").eqExpression("entityData.id")
.end()
.where("rn").eq(1)
.end()
.select("entityData")
.select ("ROW_NUMBER() OVER (PARTITION BY changes.id ORDER BY changes.sequence DESC)", "rn")
.select("changes.id", "changes_id")
.select("changes. sequence")
.selectNew(entityObjectBuilder);

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post