java与hibernate
我有一个从数据库中获取日期的代码,我从数据库中获取年份,代码如下:java与hibernate,java,Java,我有一个从数据库中获取日期的代码,我从数据库中获取年份,代码如下: Date expiryDate=dataMgr.getDate(); int validity=2; expiryDate.setYear(expiryDate.getYear() + validity); // some piece of code tx.commit(); 我正在使用hibernate从数据库中获取数据。一切都很好,但问题是在提交之后…我开始日期(dataMgr.getDate())的
Date expiryDate=dataMgr.getDate();
int validity=2;
expiryDate.setYear(expiryDate.getYear() + validity);
// some piece of code
tx.commit();
我正在使用hibernate从数据库中获取数据。一切都很好,但问题是在提交之后…我开始日期(dataMgr.getDate())的DB年也发生了变化,我不知道为什么??有人能把我弄清楚吗
例如,形成上述代码expiryDate:4/21/2012
(来自数据库)。提交后,其在DB中更改为4/21/2014
,不应发生这种情况??
我没有在任何地方使用过相应的对象,也没有在任何地方更新过对象
在单个
事务中,对象处于持久状态
。而且,expireydate
和dateMgr.getDate
都引用同一个对象
获取对象的克隆,而不是获取引用
Date expiryDate=dataMgr.getDate().clone();
我不确定语法,请检查一下