0

2つのテーブルがある例を見てみましょう

table1 (
name varchar2,
id int,
customer bit, --or boolean
)

table2 (
name2 varchar2,
id2 int,
dob Date,
)

現在、列の数、名前、およびデータ型が異なります。select * from table1またはのようなクエリに基づいて返されますselect id2 from table2

返された行を (数値、名前、およびデータ型に関して) 動的に表すことができる Bean を作成することは可能ですか?

たとえば、table1の場合、次のようなものを作成できるはずです

class Table1{

private String name;
private int id;
private boolean customer;
//Corresponding getters and setters
}

table2 についても同じ方法

4

2 に答える 2

0

返された行を (数値、名前、およびデータ型に関して) 動的に表すことができる Bean を作成することは可能ですか?

はい、Java で可能です。JPAまたはを使用しHibernateます。あなたの行をオブジェクトにマップしました。

于 2013-09-04T05:45:05.503 に答える
0

解決策は、 ResultSetMetaDataを探索し、すべての列を反復処理することです。Javassistを使用すると、フィールドと相対アクセサーを使用して POJO を作成するのは非常に簡単です ( DynaBeanも確認できます)。
特定のRDBMSタイプを使用している場合、列のjdbcタイプを検出するのは少し難しいかもしれません。

于 2013-09-04T06:31:41.990 に答える