コードが少ないこと以外に、Hibernate Criteria API を使用して IN 句を構築する次の 2 つのアプローチの違いは何ですか? パフォーマンスに関する懸念はありますか? 欠落している検索にいくつかのロジックがありますか? 行が返される限り、どちらも同じように動作するようです。
Disjunction disj = Restrictions.disjunction();
for (String value : stringArray) {
disj.add(Restrictions.eq("code", value));
}
where.add(disj);
対。
Restrictions.in("code", stringArray);
私が尋ねる理由は、前者が存在するレガシーコードをリファクタリングしているためですが、後者を期待していたからです。両方とも同じである場合は、レガシー コードをそのままにしておきます。