I can't tell how Hibernate 3 is working since I don't have that branch and we don't maintain 3.x or 4.x branches anymore.
However, on 5.2, the calendar_date Type uses the following descriptors:
Code:
public CalendarDateType() {
super( DateTypeDescriptor.INSTANCE, CalendarDateTypeDescriptor.INSTANCE );
}
And the DateTypeDescriptor SQL descriptor calls the setDate method on the underlying PreparedStatement:
Code:
final Date date = javaTypeDescriptor.unwrap( value, Date.class, options );
if ( value instanceof Calendar ) {
st.setDate( index, date, (Calendar) value );
}
else {
st.setDate( index, date );
}
So, everything looks fine. Maybe it's the JDBC Driver causing some issues. Make sure you update the JDBC driver as well.