1

OrientDB の OObjectDatabaseTx 実装を使用して、POJO をデータベースに格納しています。SQL コマンドを使用していくつかの POJO を取得しようとすると、結果セットが取得されますが、POJO の属性が空であるように見えます (ゲッターが null を返します)。

クラスを適切に登録します

db.getEntityManager().registerEntityClass(MyUser.class);

次のコードは私の問題を説明しています:

    Map<String, String> params = new HashMap<String, String>();
    params.put("name", username);
    List<MyUser> users = db.command(
            new OSQLSynchQuery<MyUser>(
                  "select * from MyUser where "
                + "name = :name"))
                .execute(params);
    for (MyUser founduser : users) {

        ODocument doc = db.getRecordByUserObject(founduser, false);
        String pass = doc.field("pwd");

        assertEquals(pass != null, true); // passes
        assertEquals(founduser.getPwd() != null, true); // fails
    }

メソッド getPwd が適切な値を返すようにするにはどうすればよいですか?

私は現在、バージョン 1.3.0 を使用していますが、これは以前は機能していました (1.1.0 の場合)。

4

1 に答える 1

0

POJO の内部に「pwd」フィールドが設定されているかどうかわかりますか?

于 2013-02-18T10:07:26.700 に答える