Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用存储在objectdb文件中的对象而不使用其类定义_Java_Objectdb - Fatal编程技术网

Java 使用存储在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

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

点定义

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文件是独立的,那么它几乎毫无用处?如果没有用于反序列化的类定义,则上面的注释是不正确的。数据可以通过反射进行访问。