假设我在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)访问数据。