[ https://issues.apache.org/activemq/browse/CAMEL-2156?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Claus Ibsen updated CAMEL-2156: ------------------------------- Description: Trying to just replace my RouteBuilder with a ProcessBuilder to start moving towards using BAM. I converted everything over to JPA, to make bam happy, but then found that it still explodes :) (Full stack trace below) Line 80 of ActivityMonitorEngine has this JPAQL, List<ActivityState> list = template.find("select x from " + ActivityState.class.getName() + " x where x.timeOverdue < ?1", timeNow); The ?1 named/numbered parameter seems to not be supported by hibernate's JPA provider. I can't find much of any documentation on this, could this just be made a normal positional? I can't even try out the BAM module without this :( 2009-11-11 01:33:53,815 ERROR [org.apache.camel.bam.processor.ActivityMonitorEngine:ActivityMonitorEngine] - <Caught: org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryParameterException: could not locate named parameter [1]; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [1]> org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryParameterException: could not locate named parameter [1]; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [1] at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:271) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:97) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:212) at org.springframework.orm.jpa.JpaAccessor.translateIfNecessary(JpaAccessor.java:152) at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:189) at org.springframework.orm.jpa.JpaTemplate.executeFind(JpaTemplate.java:151) at org.springframework.orm.jpa.JpaTemplate.find(JpaTemplate.java:311) at org.apache.camel.bam.processor.ActivityMonitorEngine$1.doInTransactionWithoutResult(ActivityMonitorEngine.java:80) at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at org.apache.camel.bam.processor.ActivityMonitorEngine.run(ActivityMonitorEngine.java:77) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [1] at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:206) at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:261) at org.springframework.orm.jpa.JpaTemplate$9.doInJpa(JpaTemplate.java:316) at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:184) ... 7 more Caused by: org.hibernate.QueryParameterException: could not locate named parameter [1] at org.hibernate.engine.query.ParameterMetadata.getNamedParameterDescriptor(ParameterMetadata.java:99) at org.hibernate.engine.query.ParameterMetadata.getNamedParameterExpectedType(ParameterMetadata.java:105) at org.hibernate.impl.AbstractQueryImpl.determineType(AbstractQueryImpl.java:437) at org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:407) at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:201) ... 10 more Line 80 was: Trying to just replace my RouteBuilder with a ProcessBuilder to start moving towards using BAM. I converted everything over to JPA, to make bam happy, but then found that it still explodes :) (Full stack trace below) Line 80 of ActivityMonitorEngine has this JPAQL, List<ActivityState> list = template.find("select x from " + ActivityState.class.getName() + " x where x.timeOverdue < ?1", timeNow); The ?1 named/numbered parameter seems to not be supported by hibernate's JPA provider. I can't find much of any documentation on this, could this just be made a normal positional? I can't even try out the BAM module without this :( 2009-11-11 01:33:53,815 ERROR [org.apache.camel.bam.processor.ActivityMonitorEngine:ActivityMonitorEngine] - <Caught: org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryParameterException: could not locate named parameter [1]; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [1]> org.springframework.dao.InvalidDataAccessApiUsageException: org.hibernate.QueryParameterException: could not locate named parameter [1]; nested exception is java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [1] at org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:271) at org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:97) at org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:212) at org.springframework.orm.jpa.JpaAccessor.translateIfNecessary(JpaAccessor.java:152) at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:189) at org.springframework.orm.jpa.JpaTemplate.executeFind(JpaTemplate.java:151) at org.springframework.orm.jpa.JpaTemplate.find(JpaTemplate.java:311) at org.apache.camel.bam.processor.ActivityMonitorEngine$1.doInTransactionWithoutResult(ActivityMonitorEngine.java:80) at org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at org.apache.camel.bam.processor.ActivityMonitorEngine.run(ActivityMonitorEngine.java:77) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.IllegalArgumentException: org.hibernate.QueryParameterException: could not locate named parameter [1] at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:206) at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:261) at org.springframework.orm.jpa.JpaTemplate$9.doInJpa(JpaTemplate.java:316) at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:184) ... 7 more Caused by: org.hibernate.QueryParameterException: could not locate named parameter [1] at org.hibernate.engine.query.ParameterMetadata.getNamedParameterDescriptor(ParameterMetadata.java:99) at org.hibernate.engine.query.ParameterMetadata.getNamedParameterExpectedType(ParameterMetadata.java:105) at org.hibernate.impl.AbstractQueryImpl.determineType(AbstractQueryImpl.java:437) at org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:407) at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:201) ... 10 more Line 80 Priority: Minor (was: Major) Fix Version/s: 2.2.0 > ActivityMonitorEngine uses ?1 parameters in JPAQL, which don't work with (at > least) the hibernate JPA provider. > --------------------------------------------------------------------------------------------------------------- > > Key: CAMEL-2156 > URL: https://issues.apache.org/activemq/browse/CAMEL-2156 > Project: Apache Camel > Issue Type: Bug > Components: camel-bam > Affects Versions: 2.0.0 > Environment: Spring 2.5.6, camel 2.0.0, hibernate 3.3.2.GA/3.4.0GA > Reporter: Karl Palsson > Priority: Minor > Fix For: 2.2.0 > > Attachments: CAMEL-2156_example.zip > > > Trying to just replace my RouteBuilder with a ProcessBuilder to start moving > towards using BAM. I converted everything over to JPA, to make bam happy, but > then found that it still explodes :) (Full stack trace below) > Line 80 of ActivityMonitorEngine has this JPAQL, > List<ActivityState> list = template.find("select x > from " + ActivityState.class.getName() + " x where x.timeOverdue < ?1", > timeNow); > The ?1 named/numbered parameter seems to not be supported by hibernate's JPA > provider. > I can't find much of any documentation on this, could this just be made a > normal positional? I can't even try out the BAM module without this :( > 2009-11-11 01:33:53,815 ERROR > [org.apache.camel.bam.processor.ActivityMonitorEngine:ActivityMonitorEngine] > - <Caught: org.springframework.dao.InvalidDataAccessApiUsageException: > org.hibernate.QueryParameterException: could not locate named parameter [1]; > nested exception is java.lang.IllegalArgumentException: > org.hibernate.QueryParameterException: could not locate named parameter [1]> > org.springframework.dao.InvalidDataAccessApiUsageException: > org.hibernate.QueryParameterException: could not locate named parameter [1]; > nested exception is java.lang.IllegalArgumentException: > org.hibernate.QueryParameterException: could not locate named parameter [1] > at > org.springframework.orm.jpa.EntityManagerFactoryUtils.convertJpaAccessExceptionIfPossible(EntityManagerFactoryUtils.java:271) > at > org.springframework.orm.jpa.vendor.HibernateJpaDialect.translateExceptionIfPossible(HibernateJpaDialect.java:97) > at > org.springframework.dao.support.DataAccessUtils.translateIfNecessary(DataAccessUtils.java:212) > at > org.springframework.orm.jpa.JpaAccessor.translateIfNecessary(JpaAccessor.java:152) > at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:189) > at > org.springframework.orm.jpa.JpaTemplate.executeFind(JpaTemplate.java:151) > at org.springframework.orm.jpa.JpaTemplate.find(JpaTemplate.java:311) > at > org.apache.camel.bam.processor.ActivityMonitorEngine$1.doInTransactionWithoutResult(ActivityMonitorEngine.java:80) > at > org.springframework.transaction.support.TransactionCallbackWithoutResult.doInTransaction(TransactionCallbackWithoutResult.java:33) > at > org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) > at > org.apache.camel.bam.processor.ActivityMonitorEngine.run(ActivityMonitorEngine.java:77) > at java.lang.Thread.run(Thread.java:619) > Caused by: java.lang.IllegalArgumentException: > org.hibernate.QueryParameterException: could not locate named parameter [1] > at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:206) > at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:261) > at > org.springframework.orm.jpa.JpaTemplate$9.doInJpa(JpaTemplate.java:316) > at org.springframework.orm.jpa.JpaTemplate.execute(JpaTemplate.java:184) > ... 7 more > Caused by: org.hibernate.QueryParameterException: could not locate named > parameter [1] > at > org.hibernate.engine.query.ParameterMetadata.getNamedParameterDescriptor(ParameterMetadata.java:99) > at > org.hibernate.engine.query.ParameterMetadata.getNamedParameterExpectedType(ParameterMetadata.java:105) > at > org.hibernate.impl.AbstractQueryImpl.determineType(AbstractQueryImpl.java:437) > at > org.hibernate.impl.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:407) > at org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:201) > ... 10 more > Line 80 -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.