假设我在Java中用2个属性(int x&int y)创建了一个名为Point的对象,并将一些实例存储在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的值(甚至是简单的字符串值)?

提前致谢

最佳答案

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

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

10-06 10:39