public class AccountExampleExtension extends AccountExample {
protected Criteria createCriteriaInternal() {
return new CriteriaExtension();
}
public static class CriteriaExtension extends AccountExample.Criteria {
アカウントテーブルから悲観的ロック(更新ロック)を取得
(SELECT FOR UPDATE NOWAIT)<br>
public CriteriaExtension forUpdateNowait(String id) {
StringBuffer sb = new StringBuffer();
sb.append("id = '").append(id).append("'");
sb.append(") for update nowait -- (");
addCriterion(sb.toString());
return this;
}
public CriteriaExtension forUpdate(String id) {
StringBuffer sb = new StringBuffer();
sb.append("id = '").append(id).append("'");
sb.append(") for update -- (");
addCriterion(sb.toString());
return this;
}
}
}
AccountExampleExtension example = new AccountExampleExtension();
AccountExampleExtension.CriteriaExtension criteria
= (AccountExampleExtension.CriteriaExtension) example.createCriteria();
criteria.forUpdateNowait(id);
List<Account> list = this.accountMapper.selectByExample(example);