java.sql.Date does not override the equals method. That means that it uses the implementation of java.util.Date. That will only return true if the other object is another Date with the exact same timestamp, in milliseconds. I really doubt that you have such values in the database.
To compare on days, please
SearchFirst. Our
Java in General forum has seen that question many times already.