JPA と PostgreSQL を使用しています。CriteriaQuery を作成し、アクセントを考慮しないクエリを作成したいと考えています。
例: 文字 'a' を検索すると、データベースは値 'ã'、'a'、'á' などを返す必要があります。これはすべての文字で発生するはずです。
これは、変更したいコードの例です。この場合、大文字と小文字が区別されず、アクセントは区別されません。
CriteriaBuilder qb = em.getCriteriaBuilder();
CriteriaQuery query = qb.createQuery(Pessoa.class);
Root<Pessoa> root = query.from(Pessoa.class);
query.from(Pessoa.class);
From from = root;
Predicate predicate = qb.like(qb.lower(from.get("name")),
"%" + name+ "%");
query.where(predicate);