java-hibernate从数据库保存和读取

java-hibernate从数据库保存和读取,java,hibernate,Java,Hibernate,我是Java新手,使用hibernate 我在代码中添加了数据点实例: Datapoint dp = new Datapoint(); dp.setDataset(dataset); dp.setStation(station); 我运行dataset.getDatapointCount函数,该函数必须使用数据集id对dp进行计数: public int getDatapointCount() { Criteria crit = Database.get

我是Java新手,使用hibernate

我在代码中添加了数据点实例:

Datapoint dp = new Datapoint();
dp.setDataset(dataset);
dp.setStation(station);
我运行dataset.getDatapointCount函数,该函数必须使用数据集id对dp进行计数:

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

但在运行结束时,数据点并没有保存在数据库中

另外,如果我在filush之后写两次getDatapointCount,那么我就进入了第一个

计时正确答案1000,第二次没有正确答案0

有人能帮我吗

提前感谢。

您使用的FlushMode有什么价值

未提交的事务可能是您的数据未保存到数据库中的原因