I hate java.sql.Date
java.sql.Date, Time, Timestamp were a bad idea from the beginning, but especially java.sql.Date. I can't imagine anyone thinking giving two classes the same name, when they are, more often than not, used in the same code was a good idea. :( I can see absolutely no need for them. You could still ahve get/setDate, time, timestamp method on PreparedStatement and ResultSet using java.util.Date.
Now, of course, because implementations of ResultSet and PreparedStatement have been written by many third parties it's not easy to put it right. However, one small consession: Why not give the java.sql.Date etc. constructors from java.util.Date? (And perhaps a valueOf() method).
Having to put:
<br /> java.sql.Date data = new java.sql.Date(dateFormat.parse(dateStr).getTime());</p> <p>
is adding insult to injury.
This should be trivial to do, these classes are not third party.
In the long term let's have versions of setDate, setTimestamp and setTime which take java.util.Date.
(I appreciate that there's still a case for distinction in he single case of PreparedStatement.setObject())