Verwenden Sie reguläre Ausdrücke in JPA CriteriaBuilder

Ich verwende den JPA CriteriaBuilder, um Entitäten vom Typ auszuwählenMyEntity aus einer MySQL-Datenbank wie folgt:

String regExp = "(abc|def)"
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery query = cb.createQuery( MyEntity.class );
root = query.from( MyEntity.class );
predicates = new ArrayList<Predicate>();

predicates.add( cb.like( root.<String>get( "name" ), regExp ) );

Daher sollte das Abfrageergebnis eine Entität enthalten, in der dasname value stimmt mit dem angegebenen regExp überein. Die Ergebnisliste ist jedoch immer leer. Ändern des RegExp auf/(abc|def)/g hat keine Auswirkung und das Hinzufügen des Platzhalters auch nicht%

Wie funktioniert der Mustervergleich?

Alternativ: Wie kann ich natives MySQL REGEXP zusammen mit dem CriteriaBuilder verwenden?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage