Java 使用存储在objectdb文件中的对象而不使用其类定义
假设我在java中创建了一个名为Point的对象,该对象具有两个属性intx和inty,并将一些实例存储在objectdb文件中。我知道如何从该文件中检索作为对象的所有项,但是如果我不再有类点的定义,如何访问它们的属性 点定义Java 使用存储在objectdb文件中的对象而不使用其类定义,java,objectdb,Java,Objectdb,假设我在java中创建了一个名为Point的对象,该对象具有两个属性intx和inty,并将一些实例存储在objectdb文件中。我知道如何从该文件中检索作为对象的所有项,但是如果我不再有类点的定义,如何访问它们的属性 点定义 Class Point { int x; int y; } 然后我创建了2个点 0,0 1,1 并将它们存储在objectdb文件中,如果需要,我可以提供代码 我使用此语句检索所有点实例 TypedQuery<Object> que
Class Point {
int x;
int y;
}
然后我创建了2个点
0,0
1,1
并将它们存储在objectdb文件中,如果需要,我可以提供代码
我使用此语句检索所有点实例
TypedQuery<Object> query = em.createQuery("SELECT o FROM Object o", Object.class);
List<Object> results = query.getResultList();
假设我只有objectdb文件而没有Point类定义,我如何才能得到x和y的值,即使是简单的字符串值
提前感谢当类定义丢失时,ObjectDB会根据存储在数据库中的类架构自动生成合成类。因此,示例中的查询返回ObjectDB生成的合成点类的实例
您可以使用Java反射API访问您的数据,可能还可以使用JPA元模型API。唯一的方法是通过二进制序列化版本进行黑客攻击。因此,如果objectdb文件是独立的,那么它几乎毫无用处?如果没有用于反序列化的类定义,则上面的注释是不正确的。数据可以通过反射进行访问。