2012-06-29 51 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)

有人能帮助我吗?

在此先感谢。

回答