我正在尝试使用这样的本机查询从我的 java spring 服务器调用存储过程:
@Query(value =
"SELECT * FROM my_function(?1, ?2, ?3, ?4, ?5, ?6 ,?7, ?8, ?9, ?10 , ?11, ?12, ?13, ?14)",
nativeQuery = true)
List<Object> findByFilters(*14 input parameters here*);
我稍后在我的服务中填充这个对象列表,并将它传递给我通过组合带有可选参数的 URL 来调用的控制器类。现在,当所有参数都具有实际值时,一切正常,并且我期望的结果正确返回。但是,当某些参数为空(或全部为空)时,我得到:
[2013/09/25 14:01:44] [org.hibernate.util.JDBCExceptionReporter] [WARN ] SQL Error: 0, SQLState: 42883
[2013/09/25 14:01:44] [org.hibernate.util.JDBCExceptionReporter] [ERROR] ERROR: function car_filters(bytea, bytea, bytea, bytea, bytea, bytea, bytea, bytea, bytea, bytea, bytea, bytea, bytea, bytea) does not exist
Hint: No function matches the given name and argument types. You might need to add explicit type casts.
知道为什么 Hibernate 向我的 Postgre 服务器发送字节数组而不是空值吗?