程序不显示所有记录,仅显示输入的最后一条记录

时间:2014-12-04 08:53:34

标签: java sql hibernate list iterator

我目前正在使用Hibernate框架开发这个Java Web应用程序,它将显示数据库中的所有记录。但是,程序仅列出在所有行中输入的最后一条记录。 (意思是,如果我有5个不同的现有数据,程序将显示5行,其中包含输入的最后一条记录的数据。所以它只是重复最后一行的值。)

我无法弄清楚代码有什么问题:

    Configuration cfg = new Configuration();
    cfg.configure();

    SessionFactory factory = cfg.buildSessionFactory();

    Session session = factory.openSession();

    Query query = session.createQuery("from mytable");

    for (Iterator iterator = query.iterate(); iterator.hasNext();)
    {
        MyTable record = (MyTable) iterator.next();

        System.out.println("id: " + record.getId());
        System.out.println("firstName: " + record.getFirstName());
        System.out.println("lastName: " + record.getLastName());
        System.out.println("due: " + record.getDue());
        System.out.println("email: " + record.getEmail());
        System.out.println("website: " + record.getWebsite());
    }

1 个答案:

答案 0 :(得分:0)

请尝试使用列表:

List entities = session.createQuery("from mytable").list();
for (Object o : entities) {
    MyTable record = (MyTable) o;
    ...
}