Swing 在Hibernate中使用JTable

Swing 在Hibernate中使用JTable,swing,hibernate,jtable,Swing,Hibernate,Jtable,我刚开始冬眠。我正在使用hibernate开发swing应用程序。我创建了一个方法来填充JTable,如下所示 public static void FillTable(JTable table,String cls){ SessionFactory sf = ConnectionDao.getSessionFactory(); Session session = sf.openSession(); Query query=session.createQuery("fr

我刚开始冬眠。我正在使用hibernate开发swing应用程序。我创建了一个方法来填充
JTable
,如下所示

 public static void FillTable(JTable table,String cls){
    SessionFactory sf = ConnectionDao.getSessionFactory();
    Session session = sf.openSession();
    Query query=session.createQuery("from "+cls);//here persistent class name is cls
    ClassMetadata classMetadata = sf.getClassMetadata(cls);
    List l = query.list();
    Object[] columnNames = classMetadata.getPropertyNames();
    DefaultTableModel model = new DefaultTableModel(new Object[0][0],
            columnNames);
    for (int i=0; i<l.size();  i++) {
        CustomerBean cb = (CustomerBean) l.get(i);
        Object[] o = new Object[3];
        o[0] = cb.getCustomerFName();
        o[1] = cb.getCustomerCity();
        o[2] = cb.getCustomerCity();
        model.addRow(o);
    }
    table.setModel(model);
}
publicstaticvoidfilltable(JTable表,stringcls){
SessionFactory sf=ConnectionDao.getSessionFactory();
Session Session=sf.openSession();
Query Query=session.createQuery(“from”+cls);//这里的持久类名是cls
ClassMetadata ClassMetadata=sf.getClassMetadata(cls);
List l=query.List();
Object[]columnNames=classMetadata.getPropertyNames();
DefaultTableModel=new DefaultTableModel(新对象[0][0],
专栏名称);

对于(int i=0;i我从未使用过Hibernate。从您的代码来看,Hibernate似乎是在返回“CustomerBean”对象作为查询的结果。如果是这样,则只需将CustomerBean对象存储在TableModel中。然后您可以使用使用反射来访问CustomBean类属性的自定义TableModel


检查支持此类型功能的TableModel。

运行此代码时会发生什么情况?是否确定将
新对象[0][0]
作为参数传递给DefaultTableModel是个好主意?