Wie verwendet man den LIKE-Operator mit VARCHAR in Hibernate 6?

Antwort

In Hibernate 6 kannst du den LIKE-Operator für `varchar`-Felder wie gewohnt in JPQL/HQL oder Criteria Queries verwenden. Hier ein Beispiel für beide Varianten: **JPQL/HQL Beispiel:** ```java String pattern = "%suchbegriff%"; List<Entity> result = entityManager.createQuery( "FROM Entity e WHERE e.varcharFeld LIKE :pattern", Entity.class) .setParameter("pattern", pattern) .getResultList(); ``` **Criteria API Beispiel:** ```java CriteriaBuilder cb = entityManager.getCriteriaBuilder(); CriteriaQuery<Entity> cq = cb.createQuery(Entity.class); Root<Entity> root = cq.from(Entity.class); cq.select(root).where(cb.like(root.get("varcharFeld"), pattern)); List<Entity> result = entityManager.createQuery(cq).getResultList(); ``` **Wichtige Hinweise:** - Der LIKE-Operator funktioniert mit allen String-basierten Feldern, also auch mit `varchar`. - Platzhalter: `%` steht für beliebig viele Zeichen, `_` für ein einzelnes Zeichen. - Groß-/Kleinschreibung: Das Verhalten hängt von der Datenbank und deren Kollation ab. Bei Bedarf kannst du `LOWER()` verwenden: ```java WHERE LOWER(e.varcharFeld) LIKE LOWER(:pattern) ``` **Weitere Infos:** - [Hibernate 6 Documentation](https://docs.jboss.org/hibernate/orm/6.0/userguide/html_single/Hibernate_User_Guide.html#hql-like) Falls du spezielle Anforderungen hast (z.B. Escape-Zeichen, native Queries), bitte die Frage präzisieren.

KI fragen

Verwandte Fragen

Was bedeutet der Hibernate-Fehler 'Operand of like is of type unknown which is not a string' und wie behebt man ihn?

Die Fehlermeldung > org.hibernate.query.SemanticException: Operand of 'like' is of type 'unknown' which is not a string (its JDBC type code is not string-like) bedeutet, dass... [mehr]

Welche Exceptions können bei Hibernate persist auftreten?

Beim Aufruf der Methode `persist()` in Hibernate können verschiedene Exceptions auftreten. Die wichtigsten sind: 1. **javax.persistence.EntityExistsException** Wird geworfen, wenn versucht... [mehr]

Was passiert, wenn bei Hibernate persist ein Fehler auftritt und dieser nicht mit try-catch abgefangen wird?

Wenn du bei Hibernate die Methode `persist()` aufrufst und dabei ein Fehler (z.B. eine Exception wie `ConstraintViolationException`, `PersistenceException` oder eine andere Laufzeit-Exception) auftrit... [mehr]

Wirft die Hibernate-Methode "persist" eine abfangbare Exception?

Ja, die Hibernate-Methode `persist()` kann Exceptions werfen, die du abfangen (catchen) kannst. Konkret kann `persist()` folgende Exceptions werfen: - **javax.persistence.EntityExistsException**: We... [mehr]