1

假设我在名为 Point 的 java 中创建了一个具有 2 个属性(int x 和 int y)的对象,并将一些实例存储在 objectdb 文件中。我知道如何从该文件中检索所有项目(作为对象),但是如果我不再有类 Point 的定义,我该如何访问它们的属性?

点定义

Class Point {
    int x;
    int y;
}

然后我创建 2 个点 (0,0) (1,1) 并将它们存储在 objectdb 文件中(如果需要,我可以提供代码)

我用这个语句检索所有 Point 实例

     TypedQuery<Object> query = em.createQuery("SELECT o FROM Object o", Object.class);
     List<Object> results = query.getResultList();

假设我只有 objectdb 文件而不是 Point 类定义我怎样才能获得 x 和 y 的值(即使是简单的字符串值)?

提前致谢

4

1 回答 1

0

当缺少类定义时,ObjectDB 会根据存储在数据库中的类模式自动生成合成类。因此,您的示例中的查询返回由 ObjectDB 生成的合成 Point 类的实例。

您可以使用 Java Reflection API(也可能使用 JPA Metamodel API)访问您的数据。

于 2014-09-10T17:03:25.290 回答