Lets assume we have bean MyBean with field createTime
class MyBean{
public long id;
public Date createTime;
}
if you execute following code
MyBean bean = new MyBean();
Date time;
bean.createTime = time;
//save and get with hibernate
save(bean);
MyBean storedBean = getBeanById(bean.id);
log.info("Times are equal: {}", storedBean.createTime.equals(time));
Variable ‘time’ was created and saved so that we can expect log will print “Times are equal true” but actually we’ll see “Times are equal false” When hibernate fetch Date from DB it returns java.sql.Date
That’s it
If you need such condition in code you can do like this
log.info("Times are equal: {}", storedBean.createTime.getTime()==time.getTime());
//returns Times are equal true