java - 如何使用 Hibernate 填充 JTable?

标签 java hibernate swing jtable hql

我正在使用 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。

您需要做的是:

  1. 在循环外创建一个空表模型
  2. 在循环中,您将新的数据行添加到模型中。
  3. 循环结束后,您可以使用模型创建表格。

所以逻辑是这样的:

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/

相关文章:

java - Java 什么时候调用 finalize() 方法?

java - NetBeans 生成有错误的 JpaController

java - 基于俄罗斯方 block 游戏创建的数组为 JTable 单元格着色

hibernate - Grails CXF 插件和 GORM

java - org.hibernate.hql.internal.ast.QuerySyntaxException : Employee is not mapped even though i use the class name of the entity

java - 从文本字段矩阵获取文本

来自数据库的 Java JTable 结果

java - 如何在java中运行.exe文件

java - 如何使用 spring boot 应用程序中另一个属性文件的值解析属性文件中的占位符

java - 如何仅使用 LocalDate 检查每月 13 日是否是星期五?