在JPA 1.0中未检测到Named-Native Query的参数

时间:2014-09-08 11:35:14

标签: java mysql jpa jboss-4.2.x jpa-1.0

我在orm.xml中使用命名本机查询。

我写了一个查询来从特定的表中获取ID。因为我只想返回结果,所以我写了一个虚拟结果集映射。

我收到以下错误:

无法找到命名参数[1]

但是这种声明参数的方式在我们使用字符串连接在Java文件中编写查询时工作正常。可能是什么问题?

以下是我的orm.xml

的一部分
    <named-native-query name="transactionIDs" result-set-mapping="dummy">
        <query>
                SELECT txn_master.id FROM txn_master txn_master
                LEFT JOIN  transaction txn_detail ON txn_detail.master_id = txn_master.id
                WHERE txn_detail.created between ? AND ?
        </query>
</named-native-query>


<sql-result-set-mapping name="dummy">
      <column-result name="bla" />
</sql-result-set-mapping>

但我收到错误:

  16:46:54,933 ERROR [STDERR] java.lang.IllegalArgumentException:  
   org.hibernate.QueryParameterException: could not locate named parameter [1]
  16:46:54,933 ERROR [STDERR]   at  
   org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:176)

 16:46:54,933 ERROR [STDERR]    at 
  org.hibernate.ejb.QueryImpl.setParameter(QueryImpl.java:231)

0 个答案:

没有答案