こんにちは
Spring Data JPAを使用してシステム開発中です。
Specificationで動的SQLの作成時のCOLLATEの使用方法について
情報をお持ちのかたは教えてください。
▼Service▼
java
1Page<Syain> resultList = syainRepository.findAll( 2 Specifications 3 // 検索条件(ユーザ名) 4 .where(SyainSpecifications.userNameContains(userName)) 5 , pageable);
▼SyainSpecifications▼
java
1public static Specification<Syain> userNameContains(final String userName) { 2 return StringUtils.isEmpty(userName) ? null : new Specification<Syain>() { 3 @Override 4 public Predicate toPredicate(Root<Syain> root, CriteriaQuery<?> query, CriteriaBuilder cb) { 5 return cb.like(root.<String> get("userName"), "%" + userName + "%"); 6 } 7 }; 8}
現状のコードは上記のような状態ですが、
このままですとSQLのWhere句が以下のようになります。
Where userName like '%【パラメータ】%'
これを以下のとおりCOLLATEを指定するように修正したいのですが、
Where userName like '%【パラメータ】%' COLLATE utf8_unicode_ci
教えて頂けますでしょうか。
よろしくお願いします。
###補足情報
- Framework:Spring4.X
- DB:MySQL
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。