Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
来自JavaBean字段的对象数组_Java_Hibernate_Javabeans_Tablemodel - Fatal编程技术网

来自JavaBean字段的对象数组

来自JavaBean字段的对象数组,java,hibernate,javabeans,tablemodel,Java,Hibernate,Javabeans,Tablemodel,有没有办法获得JavaBean字段的对象数组?我有一些表示数据库表的bean类(Hibernate),我需要从它们中检索jtable模型的对象数组,但似乎唯一的方法是为每个类的每个字段调用getXXX方法,这需要做很多工作。如果您想要一种从bean中提取值的通用方法,您应该看看内省(包“java.lang.reflect”) 以下是一个基本示例: Field[] fields = ABeanClass.getDeclaredFields(); Object[] values = new Obj

有没有办法获得JavaBean字段的对象数组?我有一些表示数据库表的bean类(Hibernate),我需要从它们中检索jtable模型的对象数组,但似乎唯一的方法是为每个类的每个字段调用getXXX方法,这需要做很多工作。

如果您想要一种从bean中提取值的通用方法,您应该看看内省(包“java.lang.reflect”)

以下是一个基本示例:

Field[] fields = ABeanClass.getDeclaredFields();

Object[] values = new Object[fields.length];

int i = 0;

for (Field field : fields) {
    values[i] = field.get(beanInstance);
    i++;
}

如果您想要一种从bean中提取值的通用方法,那么应该查看内省(包“java.lang.reflect”)

以下是一个基本示例:

Field[] fields = ABeanClass.getDeclaredFields();

Object[] values = new Object[fields.length];

int i = 0;

for (Field field : fields) {
    values[i] = field.get(beanInstance);
    i++;
}
我这样做的方式是使用一个“controller”类来处理模型和数据库之间的所有通信

您可以创建“对象”列表,例如private List myList=null; 现在,在控制器类中编写一个泛型方法。说返回列表的getList。将相对类传递给该方法,它使用hibernate会话返回列表。在你的豆子里,这样做

myList = myController.getList(YourBean.class);
这应该是您的getlist方法

public List getList(Class c) throws BaseExceptionHandler {
        Session session = null;
        Transaction tx = null;
        String query = null;
        List list = null;
        try {
            query = getStringQuery(c);
            if (query != null) {
                session = sessFactory.openSession();
                tx = session.beginTransaction();
                list = (List) session.createQuery(query).list();
                tx.commit();
            }
        } finally {
            if (session != null) {
                session.close();
            }

        }
        return list;
    }
干杯:)

我这样做的方式是使用一个“controller”类来处理模型和数据库之间的所有通信

您可以创建“对象”列表,例如private List myList=null; 现在,在控制器类中编写一个泛型方法。说返回列表的getList。将相对类传递给该方法,它使用hibernate会话返回列表。在你的豆子里,这样做

myList = myController.getList(YourBean.class);
这应该是您的getlist方法

public List getList(Class c) throws BaseExceptionHandler {
        Session session = null;
        Transaction tx = null;
        String query = null;
        List list = null;
        try {
            query = getStringQuery(c);
            if (query != null) {
                session = sessFactory.openSession();
                tx = session.beginTransaction();
                list = (List) session.createQuery(query).list();
                tx.commit();
            }
        } finally {
            if (session != null) {
                session.close();
            }

        }
        return list;
    }

干杯:)

您是否尝试过为此编写自己的方法。我认为您可以编写泛型方法并从一个方法调用中获取所有实体。您是否尝试过为此编写自己的方法。我认为您可以编写泛型方法并从一个方法调用中获取所有实体。我认为您可能误解了我的问题。我想得到bean字段的对象数组,而不是hibernate返回的对象数组。我想你可能误解了我的问题。我想得到bean字段的对象数组,而不是hibernate返回的对象数组。现在还没有时间尝试,但似乎是一个很好的解决方案。当我尝试这一点时,我会回答。现在还没有时间尝试,但这似乎是一个很好的解决方案。当我尝试这个时,我会回答。