0

これは問題ではなく、「これは正しいアプローチですか」というようなものです。

だから私はこのようなモデルを持っているとしましょう

class A extends Model{
    @OneToMany(cascade = CascadeType.ALL)
    public B;
}

class B extends Model{

   String c;
}

ここで、B オブジェクトに c という特定の値を持つ A のすべてのオブジェクトにアクセスしたいと考えています。

だから私はすべきです:

  1. 特定の値 c を持つ B のすべてのオブジェクトを取得し、それらのオブジェクトに対応する A を見つけます (そうであれば、混乱します)。
  2. A のすべてのオブジェクトを取得しfind.all()てから、リストを調べます (大量の A があり、B はそれほど多くないため、悪い考えのようです)。

任意の助けをいただければ幸いです(ああ、私が書いたと仮定@Entity@Requiredて、残りのすべてを適切に)

4

1 に答える 1

1

オプション 1 が正しい方法です。次のようなクエリを使用できます。

A.find().where().eq("b.id", yourBId).findList();

自動的に取得されない場合は、おそらく fetch("b") を追加します。

于 2013-07-03T13:49:48.993 に答える