1

2 つの属性 (int x & int y) を持つ Point という名前のオブジェクトを Java で作成し、いくつかのインスタンスを 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 メタモデル API も使用します)。

于 2014-09-10T17:03:25.290 に答える