除了少代碼外,以下兩種使用Hibernate Criteria API構建IN子句的方法有什麼區別?是否有性能問題?我缺少檢索中的邏輯嗎?就行返回而言,它們似乎執行相同。Hibernate Restrictions.in與Disjunction
Disjunction disj = Restrictions.disjunction();
for (String value : stringArray) {
disj.add(Restrictions.eq("code", value));
}
where.add(disj);
VS.
Restrictions.in("code", stringArray);
我問的原因是因爲我重構遺留代碼,前者存在,但我期待後者。如果它們都相同,我將單獨留下遺留代碼。
似乎第二種方法更簡潔,不需要循環。雖然你的解釋是有道理的。謝謝。 – sma 2011-05-05 21:01:17
@sma:當我說前者時,我指的是我的帖子中的1st(Restrictions.in),而不是你的帖子:) – Narayan 2011-05-06 05:04:28