2012-06-29 32 views
0

我是Java新手,使用hibernate。java - 休眠保存並從數據庫中讀取

我的代碼中添加的數據點實例:

Datapoint dp = new Datapoint(); 
dp.setDataset(dataset); 
dp.setStation(station); 

我運行具有計算與數據集ID的DP的dataset.getDatapointCount()函數:

public int getDatapointCount() 
    { 

     Criteria  crit = Database.getSession().createCriteria(Datapoint.class); 

     crit = crit.add(Restrictions.eq("dataset", this)); 
     crit.setProjection(Projections.rowCount()); 

     Integer   result = (Integer)crit.uniqueResult(); 

     return result.intValue(); 
    } 

,我得到0數據點。 (當運行完成時,我看到數據庫中的新數據點)。

我加

Database.getSession().flush(); 

的getDatapointCount前()函數返回真的新號碼(1000例)

但乳寧數據點結束didnt保存在數據庫中!

另外,如果我寫的getDatapointCount()的filush後()兩次,我在第一

時間得到正確的答案(1000),並在第二次沒有正確答案(0)

有人能幫助我嗎?

在此先感謝。

回答