プログラムを介してデータを取得しようとしているときに、いくつかの問題に直面しています。データベースとして objectDB を使用しています。また、データベースは既にセットアップされており、objectDB インストールの db フォルダーに laptop.odb ファイルをドロップしました。また、エクスプローラーに移動してクエリを実行すると、次のようになります。
select this.modelName == "HP Pavillion"
正しい結果が出ます。しかし、次のように自分のコードで同じことをしようとすると
public static void main(String argv[]) {
PersistenceManager pm = Utilities.getPersistenceManager("laptop.odb");
System.out.println("-- TEST --\n");
Query query = pm.newQuery(Laptop.class,"this.modelName == \"HP Pavillion\"");
Collection result = (Collection)query.execute();
System.out.println("Result is >> "+result);
ここでは結果は返されません。私の出力は次のとおりです。
-- TEST find --
結果は >> []
クラスの私のコードは次のとおりです。
package com.project;
import java.util.*;
import javax.annotation.processing.Processor;
import javax.jdo.*;
import com.objectdb.Utilities;
public class Laptop {
String modelName; // key
public static void main(String argv[]) {
PersistenceManager pm = Utilities.getPersistenceManager("laptop.odb");
System.out.println("-- TEST find --\n");
Query query = pm.newQuery(Laptop.class,"this.modelName == \"HP Pavillion\"");
Collection result = (Collection)query.execute();
System.out.println("Result is >> "+result);
}
助言がありますか ?