1

私は2つのクラスを持っています:AそしてBこのように。

public Class A {
    public B b;
    // Setter and Getter
}


public Class B {
    String code;
    // Setter and Getter
}

Aデータベースからロードされ、 でソートされたリストが必要ですB.code。しかし、問題は、 のインスタンスがAその に対して null 値を持つ場合b、無視され、ロードされないことです。

ここで何をすべきですか?簡単なヒントで十分です。

更新しました

これが私のコードです:

DetachedCriteria cr = DetachedCriteria.forClass(A.class, "a");
cr.createAlias("a.b", "b");
cr.addOrder(Order.asc("b.code"));
// something like cr.list();
4

1 に答える 1

1

デフォルトcreateAlias(String associationPath, String alias)では INNER 結合を生成しますが、ここでは LEFT_OUTER 結合が必要なので、代わりに次を使用します。

cr.createAlias("a.b", "b", CriteriaSpecification.LEFT_JOIN);
于 2013-02-18T13:49:25.643 に答える