2 Replies Latest reply on Oct 27, 2009 3:09 AM by Joram Barrez

    Criteria ordered not execute on the HistoryActivityInstanceQ

    IGNACIO V MONTERO Newbie

      === Environment ==============================
      - jBPM Version : jbpm 4.1
      - Database : oracle(ojdbc14.jar ->Oracle JDBC Driver version - 9.0.2.0.0)
      -JDK : 1.5.09
      - Container : jboss 4.05 GA
      - Configuration :only importing files from the jbpm.jar
      lib itself? or did you create a custom config file?
      - Libraries : all jbmp libraries




      === Problem description =========================
      API doesn't work as expected because the class HistoryActivityInstanceQuery not executes criteria orders (for example: PROPERTY_STARTTIME, or PROPERTY_EXECUTIONID). If look the hibernate log we see that it does not appear the query criteria ordered.

      log:

      Hibernate: select historyact0_.DBID_ as DBID1_10_, historyact0_.DBVERSION_ as DBVERSION3_10_, historyact0_.HPROCI_ as HPROCI4_10_, historyact0_.TYPE_ as TYPE5_10_, historyact0_.EXECUTION_ as EXECUTION6_10_, historyact0_.ACTIVITY_NAME_ as ACTIVITY7_10_, historyact0_.START_ as START8_10_, historyact0_.END_ as END9_10_, historyact0_.DURATION_ as DURATION10_10_, historyact0_.TRANSITION_ as TRANSITION11_10_, historyact0_.NEXTIDX_ as NEXTIDX12_10_, historyact0_.HTASK_ as HTASK13_10_, historyact0_.CLASS_ as CLASS2_10_ from JBPM4_HIST_ACTINST historyact0_ where historyact0_.START_<? and historyact0_.EXECUTION_='SERVICIO_TEST2.CI-797'


      - In this query not exists criteria order. This query must be:
      Hibernate: select historyact0_.DBID_ as DBID1_10_, historyact0_.DBVERSION_ as DBVERSION3_10_, historyact0_.HPROCI_ as HPROCI4_10_, historyact0_.TYPE_ as TYPE5_10_, historyact0_.EXECUTION_ as EXECUTION6_10_, historyact0_.ACTIVITY_NAME_ as ACTIVITY7_10_, historyact0_.START_ as START8_10_, historyact0_.END_ as END9_10_, historyact0_.DURATION_ as DURATION10_10_, historyact0_.TRANSITION_ as TRANSITION11_10_, historyact0_.NEXTIDX_ as NEXTIDX12_10_, historyact0_.HTASK_ as HTASK13_10_, historyact0_.CLASS_ as CLASS2_10_ from JBPM4_HIST_ACTINST historyact0_ where historyact0_.START_<? and historyact0_.EXECUTION_='SERVICIO_TEST2.CI-797' order by historyact0_.START_ desc


      -However, in the other AbstractQuery implementations (ProcessDefinitionQueryImpl or ProcessInstanceQueryImpl) works correctly and I think it's because in the hql construction the method don`t invoke to appender order clause. For example I look the appendOrderByClause method is invoked in the org.jbpm.pvm.internal.query.ProcessInstanceQueryImpl.hql()

        • 1. Re: Criteria ordered not execute on the HistoryActivityInsta
          IGNACIO V MONTERO Newbie

          === Environment ==============================
          - jBPM Version : jbpm 4.1
          - Database : oracle(ojdbc14.jar ->Oracle JDBC Driver version - 9.0.2.0.0)
          -JDK : 1.5.09
          - Container : jboss 4.05 GA
          - Configuration :only importing files from the jbpm.jar
          lib itself? or did you create a custom config file?
          - Libraries : all jbmp libraries




          === Problem description =========================
          API doesn't work as expected because the class HistoryActivityInstanceQuery not executes criteria orders (for example: PROPERTY_STARTTIME, or PROPERTY_EXECUTIONID). If look the hibernate log we see that it does not appear the query criteria ordered.

          log:

          Hibernate: select historyact0_.DBID_ as DBID1_10_, historyact0_.DBVERSION_ as DBVERSION3_10_, historyact0_.HPROCI_ as HPROCI4_10_, historyact0_.TYPE_ as TYPE5_10_, historyact0_.EXECUTION_ as EXECUTION6_10_, historyact0_.ACTIVITY_NAME_ as ACTIVITY7_10_, historyact0_.START_ as START8_10_, historyact0_.END_ as END9_10_, historyact0_.DURATION_ as DURATION10_10_, historyact0_.TRANSITION_ as TRANSITION11_10_, historyact0_.NEXTIDX_ as NEXTIDX12_10_, historyact0_.HTASK_ as HTASK13_10_, historyact0_.CLASS_ as CLASS2_10_ from JBPM4_HIST_ACTINST historyact0_ where historyact0_.START_<? and historyact0_.EXECUTION_='SERVICIO_TEST2.CI-797'


          - In this query not exists criteria order. This query must be:
          Hibernate: select historyact0_.DBID_ as DBID1_10_, historyact0_.DBVERSION_ as DBVERSION3_10_, historyact0_.HPROCI_ as HPROCI4_10_, historyact0_.TYPE_ as TYPE5_10_, historyact0_.EXECUTION_ as EXECUTION6_10_, historyact0_.ACTIVITY_NAME_ as ACTIVITY7_10_, historyact0_.START_ as START8_10_, historyact0_.END_ as END9_10_, historyact0_.DURATION_ as DURATION10_10_, historyact0_.TRANSITION_ as TRANSITION11_10_, historyact0_.NEXTIDX_ as NEXTIDX12_10_, historyact0_.HTASK_ as HTASK13_10_, historyact0_.CLASS_ as CLASS2_10_ from JBPM4_HIST_ACTINST historyact0_ where historyact0_.START_<? and historyact0_.EXECUTION_='SERVICIO_TEST2.CI-797' order by historyact0_.START_ desc


          -However, in the other AbstractQuery implementations (ProcessDefinitionQueryImpl or ProcessInstanceQueryImpl) works correctly and I think it's because in the hql construction the method don`t invoke to appender order clause. For example I look the appendOrderByClause method is invoked in the org.jbpm.pvm.internal.query.ProcessInstanceQueryImpl.hql()