[hibernate-issues] [Hibernate-JIRA] Commented: (EJB-365) Can't execute query
Wilberto Montoya (JIRA)
noreply at atlassian.com
Wed Dec 3 15:55:17 EST 2008
[ http://opensource.atlassian.com/projects/hibernate/browse/EJB-365?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=31868#action_31868 ]
Wilberto Montoya commented on EJB-365:
--------------------------------------
I think it is an issue in Hibernate.
When hibernate translate the query and creates a prepare statement it is possible indicate that parameter it type null but looks like by default it is another type (maybe varchar?)
PreparedStatement ps = .......
try to use:
ps.setNull( nIdx, Types.NULL );
that allows to JDBC to send a null do not try to use other Types but again this patch must be done in hibernate core.
> Can't execute query
> -------------------
>
> Key: EJB-365
> URL: http://opensource.atlassian.com/projects/hibernate/browse/EJB-365
> Project: Hibernate Entity Manager
> Issue Type: Bug
> Affects Versions: 3.3.2.GA
> Environment: Hibernate 3.2.6
> PostrgreSQL 8.0.13
> Glassfish
> Reporter: Radosław Smogura
> Priority: Critical
>
> Execution followed named query with followed entity
> @Entity
> @NamedQuery(name="Foo.test",
> query="SELECT f FROM Foo f WHERE ((:bool IS NULL) OR (f.bool = :bool)) ")
> public class Foo implements Serializable{
> @Id
> int id;
>
>
> boolean bool;
> public boolean isBool() {
> return bool;
> }
> public void setBool(boolean bool) {
> this.bool = bool;
> }
> public int getId() {
> return id;
> }
> public void setId(int id) {
> this.id = id;
> }
> }
> and parameter bool = null
> causes PostgreSQL error ERROR: operator does not exist: boolean = bytea
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://opensource.atlassian.com/projects/hibernate/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
More information about the hibernate-issues
mailing list