середа, 22 липня 2015 р.

#Hibernate:Comparing dates

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(;"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"Times are equal: {}", storedBean.createTime.getTime()==time.getTime()); 

//returns Times are equal true