Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Verwenden Sie reguläre Ausdrücke in JPA CriteriaBuilder

Der Musterabgleich in JPA-Abfragen ist nur auf

beschränkt
  • _ - beliebiges Zeichen
  • % - beliebige Zeichenfolge

REGEXP hat Operatorsyntax in MySQL (SELECT 'a' REGEXP 'A' ) und kann daher nicht mit CriteriaBuilder.function() verwendet werden API. Ich fürchte, das Beste ist, eine native SQL-Abfrage auszuführen.

Wenn Sie Hibernate verwenden, haben Sie eine weitere Option. Sie können REGEXP umschließen -Operator in SQLFunctionTemplate , Hibernate-Dialekt erweitern und mit CriteriaBuilder.function() ausführen .