Помимо меньшего количества кода, в чем разница между следующими двумя подходами к созданию предложения IN с использованием API критериев Hibernate? Есть ли проблемы с производительностью? Есть ли какая-то логика в поиске, который мне не хватает? Кажется, что они оба работают одинаково в отношении возвращаемых строк.
Disjunction disj = Restrictions.disjunction();
for (String value : stringArray) {
disj.add(Restrictions.eq("code", value));
}
where.add(disj);
VS.
Restrictions.in("code", stringArray);
Причина, по которой я спрашиваю, заключается в том, что я рефакторирую устаревший код там, где существует первый, но я ожидал второго. Если они оба одинаковы, я оставлю старый код в покое.