0

我有很多带有属性的bean,它们是从带有JPA 的数据库表中派生的。用户应能够输入任何列名和值作为字符串,应用程序应自动在其中一个 bean 中找到正确的成员。

我必须使用 JPA,否则我会使用一些 JDBC 元数据将所有列和值放入法线映射中。JPA可以做到这样的事情吗?它只需要从数据库到 bean 工作,我不想持久化更改。

如果这不起作用,我可以在运行时以某种方式以编程方式分析成员名称吗?

4

2 回答 2

1

EntityManagerFactory 有一个getMetamodel()方法,它返回它的 MetaModel。从这个 MetaModel 中,您可以查询每个实体类的 MetaModel,并发现它的所有属性、它们的类型等。

于 2012-05-18T11:45:09.120 回答
0

如果 JPA 部分不起作用,您可以访问类的类成员(字段、方法),如下所示:

Field[] fs = YouClass.class.getDeclaredFields();

访问不同成员的详细信息在此链接上

于 2012-05-18T11:55:14.743 回答