Share on:

#Hibernate:Comparing dates

JUG LvivJUG Lviv

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 


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