0

requestfactory を使用してオブジェクトをフェッチすると、with() を使用しなくても常にすべての依存関係がフェッチされます。テストケースを作成しました:

public class TestObjectC {

    String c;
    TestObjectB b;

    public TestObjectC() {
    }
    public String getC() {
        return c;
    }
    public void setC(String c) {
        this.c = c;
    }
    public TestObjectB getB() {
        return b;
    }
    public void setB(TestObjectB b) {
        this.b = b;
    }
}

と:

public class TestObjectB {

    String b;
    TestObjectA a;

    public TestObjectB() {
    }
    public String getB() {
        return b;
    }
    public void setB(String b) {
        this.b = b;
    }
    public TestObjectA getA() {
        return a;
    }
    public void setA(TestObjectA a) {
        this.a = a;
    }
}

私のプロキシは次のとおりです。

@ProxyForName(value = "com.myproject.testing.TestObjectC")
public interface TestObjectCProxy extends ValueProxy {

    public String getC();
    public void setC(String c);
    public TestObjectBProxy getB();
    public void setB(TestObjectBProxy b);

}

と:

@ProxyForName(value = "com.myproject.testing.TestObjectB")
public interface TestObjectBProxy extends ValueProxy {

    public String getB();
    public void setB(String b);
    public TestObjectAProxy getEins();
    public void setEins(TestObjectAProxy eins);

}

リクエストを起動したとき: requestFactory.myRequest().getTest() .fire(new Receiver() {

                @Override
                public void onSuccess(TestObjectCProxy response) {
                    System.out.println(response.getB());
                    System.out.println(response.getB().getB());
                }
            });

すべて正常に動作します。Nullpointer-Exception を受け取るべきではありませんか? プロキシはデータオブジェクトとは異なるプロジェクトにあるため、ProxyFor(...) を使用する必要があります。そして、サーバー側で Dependency-Injection を使用してサービス クラスをロードします。これのいずれかが問題になる可能性はありますか?

よろしく、アルネ

4

1 に答える 1

4

これはそれほど多くの人々の関心を引くものではありませんでしたが、おそらく答えは誰かを助けるでしょう. 私が知らなかったのは、ValueProxy は常にすべての属性とともにフェッチされるということです。遅延フェッチが必要な場合は、EntityProxy のみを使用できます。

于 2011-10-25T15:30:56.907 に答える