Mysql
 sql >> Base de données >  >> RDS >> Mysql

Utiliser des expressions régulières dans JPA CriteriaBuilder

La correspondance de modèles dans les requêtes JPA est limitée uniquement à

  • _ - n'importe quel caractère
  • % - n'importe quelle chaîne

REGEXP a une syntaxe d'opérateur dans MySQL (SELECT 'a' REGEXP 'A' ) donc il ne peut pas être utilisé avec CriteriaBuilder.function() API. J'ai bien peur que le mieux soit d'exécuter une requête SQL native.

Si vous utilisez Hibernate, vous avez une autre option. Vous pouvez envelopper REGEXP opérateur dans SQLFunctionTemplate , étendre le dialecte d'hibernation et exécutez avec CriteriaBuilder.function() .