Joost Kraaijeveld wrote:
> 2005-10-10 06:03:24,657 ERROR [org.hibernate.util.JDBCExceptionReporter]
> ERROR: column "xwp_unmodifiable" is of type smallint but expression is
> of type boolean
> Does this mean that it is not possible to convert a Java Boolean to a
> PostgreSQL int2 according to the driver or am I reading the exception
> text wrong?
> If I am reading the exception text correct, doesn't the JDBC spec
> specify a mapping from Boolean to smallint (according to Appendix B,
> table B-5)?
Table B-5 says that you can do "setObject(n, new Boolean(value),
Types.SMALLINT)" and the driver will convert the Boolean to a SMALLINT.
See section 13.2.2.2 ("Type Conversions Using the Method setObject") in
the spec.
As far as I know, the driver supports this case correctly.
I suspect that Hibernate is using setBoolean(), or passing a Boolean to
the setObject() variant that does not take a Types constant. In both of
these cases the driver will pass the parameter to the backend typed as a
boolean, which will produce an error like the above if actually needs to
be some other type.
-O