Как мне запросить UUID, хранящиеся в двоичном формате в базе данных (JPA / Hibernate / MySQL)

У меня есть приложение на основе Java / JPA / Hibernate / MySQL. Я хочу использовать UUID для идентификации объекта, однако я хочу, чтобы производительность базы данных не пострадала.

Я нашел эту замечательную запись в блоге JPA и UUID Primary Keys , которая помогает мне кое-что достичь. Обратите внимание, как хранение UUID оптимизируется за счет его хранения в двоичной форме (в отличие от строкового представления.

Это частично решает проблему, потому что теперь мы можем эффективно вставлять объекты в базу данных.

Однако теперь у меня есть проблема, когда я хочу запросить из базы данных с помощью EntityManager.createQuery. Возможно / желательно ли запрашивать двоичные данные? или я должен хранить строковый UUID вместе с двоичной версией для облегчения запросов?

8
задан Jason Chambers 8 July 2011 в 18:57
поделиться