Java 程序不显示所有记录,只显示最后输入的记录

Java 程序不显示所有记录,只显示最后输入的记录,java,sql,hibernate,list,iterator,Java,Sql,Hibernate,List,Iterator,我目前正在使用Hibernate框架开发这个Java web应用程序,它将显示数据库中的所有记录。但是,程序仅列出所有行中输入的最后一条记录。(这意味着,如果我有5个不同的现有数据,程序将显示5行,其中包含输入的最后一条记录的数据。因此,它只是重复最后一行的值。) 我无法找出代码的错误: Configuration cfg = new Configuration(); cfg.configure(); SessionFactory factory = cfg.build

我目前正在使用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());
    }

请尝试改用列表:

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

您确定插入数据和显示数据时没有错误吗?我还没有插入数据。同时,我正在将示例数据直接插入到数据库中。您是否检查过是否无意中插入了相同的数据?是的,它们实际上彼此不同。显示数据时可能会出现代码外观良好的问题,然后您没有任何要加载的数据。您是否连接到同一数据库?记录SQL查询并对DB运行它们。正在显示数据。问题是它只显示所有行中输入的最后一条记录。粘贴执行的SQL并在控制台中运行它以获得实际选择的记录。然后也粘贴SQL结果。