Java Bean フィールドのオブジェクト配列を取得する方法はありますか? データベース テーブル (Hibernate) を表す Bean クラスがいくつかあり、それらから jtable モデルのオブジェクト配列を取得する必要がありますが、これを行う唯一の方法は、各クラスの各フィールドに対して getXXX メソッドを呼び出すことです。やらなければならないこと。
2182 次
2 に答える
5
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++;
}
于 2012-04-07T20:03:38.747 に答える
0
私のやり方は、モデルとデータベース間のすべての通信を処理する「コントローラー」クラスを使用することです。
たとえば、private List myList=null;のように「オブジェクト」のリストを作成します。次に、コントローラークラスにジェネリックメソッドを記述します。リストを返すgetListと言います。相対クラスをメソッドに渡すと、休止状態のセッションを使用してリストが返されます。あなたの豆で、これを行います
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;
}
乾杯 :)
于 2012-04-07T20:24:54.447 に答える