2009-01-28 11 views
8

Ich versuche, die JPPA EntityManager find() -Methode zu verwenden. Mein Primärschlüssel ist eine Zeichenfolge, die dem Namen eines Benutzers entspricht.JPA EntityManager finde mit Groß-und Kleinschreibung Schlüssel

Ich verwende JPA/Hibernate/MYSQL.

Mein Problem ist eine Suche nach Benutzer 'David' entspricht Benutzer 'david' aufgrund, ich nehme an, auf die Groß- und Kleinschreibung in der zugrunde liegenden MySQL-Übereinstimmung. Das verursacht mir eine ganze Menge Probleme !!

Hat jemand eine elegante Lösung dafür? Ich könnte einen nativen SQL-Aufruf ausführen und den BINARY-Operator wie hier dokumentiert verwenden: http://dev.mysql.com/doc/refman/5.0/en/charset-binary-op.html

Wer hat eine bessere Lösung? Ta.

+0

in diese heute lief, ist es 2017, und dies ist noch nicht festgelegt. Ich habe 'Ken' in mysql und em.find (Klasse, 'ken') gibt ein Objekt mit dem Benutzernamen 'ken' zurück. was bewirkt, dass ein anderes Objekt, das mit diesem Benutzer in Beziehung steht, FK beim Löschen löscht. –

Antwort

3

Können Sie den Spaltentyp so ändern, dass Groß- und Kleinschreibung nicht berücksichtigt wird? Die MySQL guide hat Informationen darüber, wie dies zu tun ist. Dieses

ist mehr oder weniger das, was Sie mit dem Operator BINARY gefunden, aber es gilt auch für den Spaltentyp statt, wenn Sie ein SELECT laufen