【問題】
Springでページネーションを踏まえた検索機能を作成しています。
文字列「%」「」の記号を検索ボックスに入れた時、
「%」「」で検索されず、全件検索結果が取得されてます。
恐らくエスケープ文字と識別されている事が原因だと思っていますが、
どのようにコードを訂正すれば良いかわかりません。
どなたかご教示をお願いいたします。
【進捗状況】
・JPAを使用してDBからデータ取得を行っており、問題のエスケープ文字以外は問題なく表示できます
・ページネーションのコーディングも終わっており、最終検証の段階で【問題】を発見いたしました
【使用言語/ツール】
・Java
・MYSQL
・Spring Boot
・STS(spring tools site)
【ソースコード】
参考コード
・TaskController(Controller)
・TaskRepository(Repository)
※参考コードは回答に応じて追加します
TaskController(Controller)
java
1@Service 2@Transactional 3public class TaskService { 4 5 @Autowired 6 private TaskRepository taskrepository; 7 @Autowired 8 private TaskSpecification taskspecification; 9 10 public Page<TaskEntity> searchmaterial(String title, String titleKana,Pageable pageable) { 11 return (Page<TaskEntity>) taskrepository.findAll(Specification 12 .where(taskspecification.titleContains(title)) 13 .and(taskspecification.titleKanaContains(titleKana)) 14 ,pageable 15 ); 16 } 17}
TaskRepository(Repository)
java
1@Repository 2public interface TaskRepository extends JpaRepository<TaskEntity,Long>, JpaSpecificationExecutor<TaskEntity>{ 3 4 Page<TaskEntity> findByTitleAndTitleKana(String title, String titleKana, Pageable pageable); 5 6 7}
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/08/26 16:30
2020/08/26 18:58
2020/08/26 22:54
2020/08/27 01:54
2020/08/29 03:16