I have a problem with Hibernate Native Query. I have one SELECT that selects array slice (PostgreSQL database).
The problem is that hibernate recognizes the following part: “:300” from “SELECT my_array[1:300]…” as named parameter and I get the following exception: Not all named parameters have been set.
I tried to escape the colon (:) with ‘:’ , ‘::’ but with no success.
The Hibernate version is 3.2
I don’t use PostgreSQL but if you don’t find a proper solution for this problem you can implement an interceptor (extend EmptyInterceptor) and modify your query on
onPrepareStatement(String sql).Which means that you could be using something like
my_array[1|300]and rewriting it asmy_array[1:300]to workaround the named parameters problem.Edit: I’m not 100% sure the above works (rewriting native SQL and whether the query parser would allow the special character). I’ve only done the above in HQL and criteria where I was passing the index hint as a query comment.