[hibernate-issues] [Hibernate-JIRA] Created: (HHH-2951) Restrictions.eq when passed null, should create a NullRestriction

David Sheldon (JIRA) noreply at atlassian.com
Fri Nov 16 06:52:29 EST 2007


Restrictions.eq when passed null, should create a NullRestriction
-----------------------------------------------------------------

                 Key: HHH-2951
                 URL: http://opensource.atlassian.com/projects/hibernate/browse/HHH-2951
             Project: Hibernate3
          Issue Type: Improvement
          Components: query-criteria
    Affects Versions: 3.2.1
            Reporter: David Sheldon
            Priority: Trivial


If you create a Restriction using eq, and pass null to it, then the generated SQL is  "where foo = null", which always returns false.

The programmer will almost certainly have intended to get "where foo is null".

Ideally, we could change:
	public static SimpleExpression eq(String propertyName, Object value) {
		return new SimpleExpression(propertyName, value, "=");
	}

to 

	public static SimpleExpression eq(String propertyName, Object value) {
            if (value == null) {
                return isNull(propertyName);
            }
           else {
		return new SimpleExpression(propertyName, value, "=");
          }
	}

Unforunately that wont work, as isNull doesn't return a SimpleExpression. 

-- 
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