Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在DB2中,Open JPA查询从第二次开始就无法执行(因为byte[]参数)_Jpa_Db2_Jpa 2.0_Openjpa - Fatal编程技术网

在DB2中,Open JPA查询从第二次开始就无法执行(因为byte[]参数)

在DB2中,Open JPA查询从第二次开始就无法执行(因为byte[]参数),jpa,db2,jpa-2.0,openjpa,Jpa,Db2,Jpa 2.0,Openjpa,我试图在DB2数据库上使用OpenJPA执行下面的查询,在服务器启动后第一次执行得很好,但第二次就失败了 查询: Select * from table t where t.column = ?1 对于数据库中的位数据,该列被定义为CHAR(n),我将参数作为字符串传递 虽然我将参数作为字符串传递,但它第一次执行得很好,之后给出以下错误 <openjpa-2.2.3-SNAPSHOT-r422266:1715851 fatal general error> org.apache.o

我试图在DB2数据库上使用OpenJPA执行下面的查询,在服务器启动后第一次执行得很好,但第二次就失败了

查询:

Select * from table t where t.column = ?1
对于数据库中的位数据,该列被定义为CHAR(n),我将参数作为字符串传递

虽然我将参数作为字符串传递,但它第一次执行得很好,之后给出以下错误

<openjpa-2.2.3-SNAPSHOT-r422266:1715851 fatal general error> org.apache.openjpa.persistence.PersistenceException:
[jcc][1083][10403][3.69.49] Illegal conversion: can not convert from
"java.lang.String" to "byte[]" ERRORCODE=-4474, SQLSTATE=null**
org.apache.openjpa.persistence.PersistenceException:
[jcc][1083][10403][3.69.49]非法转换:无法从转换
“java.lang.String”到“byte[]”错误代码=-4474,SQLSTATE=null**
我可以看到一个类似的帖子,下面是链接,但是提供的解决方案不起作用


哪个操作系统运行Db2服务器?Z/OS、iSeries、Linux/Unix/Windows?数据库中该列使用哪种编码?如果您使用JDBC 4.0驱动程序(db2jcc4.jar),如果openjpa允许,而不是您正在使用的JDBC 3.0驱动程序,那么这会有区别吗?不要将参数作为
String
@mao传递,因为DB2服务器正在Linux上运行,而我目前只在Linux上使用JDBC 4.0驱动程序Openjpa@mustaccio,若我传递的是string.getBytes()之类的字节数组,则会出现如下语法异常,无法执行查询。检查查询语法的正确性。有关详细信息,请参见嵌套异常。