使用JPA的Dollar quote中的哈希字符发生异常

时间:2015-04-08 11:00:53

标签: jpa eclipselink

我正在使用Dollar quote(即$xx$)进行查询,并在输入内部有哈希字符(#)时获取异常。

select * from tbl_abc where col_x = $xx$#$xx$
                                        ^

例外是:

Internal Exception: org.postgresql.util.PSQLException: The column index is out of range: 1, number of columns: 0.
Error Code: 0
Call: select * from tbl_abc where col_x = $xx$?
    bind => [1 parameter bound]

我可以在错误消息中看到?个字符,但我在查询中没有这个字符。这是我的java代码:

String query = "select * from tbl_abc where col_x = $xx$#$xx$";
Query nativeQuery = em.createNativeQuery(query, Abc.class);
List<Abc> abcList = nativeQuery.getResultList();

仅供参考:当我使用'#'代替$xx$#$xx$时,它运作顺畅。我的查询也很好地从postgres控制台运行。

如何从JPA中为$ quote引用#字符?

我将JavaEclipselink一起使用,数据库为Postgres

0 个答案:

没有答案