简单的JPQL查询无法在OpenJPA中运行

时间:2014-01-15 00:33:01

标签: hibernate jpa openjpa

当我使用hibernate作为JPA提供程序时,以下查询正常工作不适用于OpenJPA:

entityManager.createQuery(
        "select ord from Order ord " +
        "where symbol = :symbol")
    .setParameter("symbol", symbol)
    .getResultList();

返回的错误是

java.lang.IllegalArgumentException: Invalid unbound variable "symbol" in query

我在OpenJPA不喜欢的查询中做错了吗?

1 个答案:

答案 0 :(得分:2)

我相信你想改变:“其中symbol =:symbol”改为:

 "where ord.symbol = :symbol"

或者,使用位置参数:

"where ord.symbol = ?1"

  .setParameter(1, symbol)

希望有所帮助。