让我们举个例子,我有两张桌子
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
的方式相同答案 0 :(得分:0)
是否可以创建一个可以表示返回行的bean (动态数量,名称和数据类型)?
是,可以在Java中使用。使用JPA
或Hibernate
。使用Object映射您的行。
答案 1 :(得分:0)
解决方案可以探索ResultSetMetaData并迭代所有列:使用Javassist非常容易创建包含字段和相对访问者的POJO(您还可以查看DynaBean)。
如果使用特定的RDBMS类型,也许检测列的jdbc类型可能有点困难。