我正在使用 Swing 和 Hibernate 创建一个简单的应用程序。我想填充到 JTable
中,即 Hibernate 中 HQL 查询返回的列表。请告诉我哪里做错了。
List<Employee> employee= (List<Employee>)sess.createQuery("from Employee where ID<10").list();
String[] rows= {"Book Tile","Author","Price"};
for(Employee e:employee) {
String[][] cols= {{e.getFirstName(),e.getLastName(),Double.toString(e.getSalary())},};
DefaultTableModel dtm = new DefaultTableModel(cols,rows);
table.setModel(dtm);
}
我希望找到一个包含 HQL 返回的所有行的表,但每次运行应用程序时我只找到最后一行
最佳答案
but instead i am finding only the last row each time i run my application
这是因为每次迭代 for 循环时都会创建一个新的 TableModel。
您需要做的是:
- 在循环外创建一个空表模型
- 在循环中,您将新的数据行添加到模型中。
- 循环结束后,您可以使用模型创建表格。
所以逻辑是这样的:
DefaultTableModel dtm = new DefaultTableModel(cols, 0);
for(Employee e:employee)
{
String[] row= {e.getFirstName(), e.getLastName(), Double.toString(e.getSalary())};
dtm.addRow( row );
}
table.setModel(dtm);
关于java - 如何使用 Hibernate 填充 JTable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54029937/