准备语句布尔与位Postgresql和Java

准备语句布尔与位Postgresql和Java,java,sql,postgresql,Java,Sql,Postgresql,我在Java中使用PostgresSQL时遇到一些问题。当我有一个准备好的查询,其中一个参数是布尔型阻塞时,我会收到以下错误消息: 阻止的错误列的类型为bit,但表达式的类型为boolean 我的代码是: else if (param instanceof Boolean) { p.setBoolean(j, (boolean) param); } 有什么想法可以解决这个问题吗?Postgres位不是布尔值。可以使用字符串1或0插入位值: setBoolean只接受一个布尔值,所以这不

我在Java中使用PostgresSQL时遇到一些问题。当我有一个准备好的查询,其中一个参数是布尔型阻塞时,我会收到以下错误消息:

阻止的错误列的类型为bit,但表达式的类型为boolean

我的代码是:

else if (param instanceof Boolean)
{
    p.setBoolean(j, (boolean) param);
}
有什么想法可以解决这个问题吗?

Postgres位不是布尔值。可以使用字符串1或0插入位值:


setBoolean只接受一个布尔值,所以这不起作用,但是尝试使用setStringj,param?1 : 0; 导致错误:运算符不存在:位=字符变化,所以我不确定剩下什么选项。setInt也给出了相同类型的强制转换错误
p.setBoolean(j, param ? "1" : "0");