У меня есть приложение на основе Java / JPA / Hibernate / MySQL. Я хочу использовать UUID для идентификации объекта, однако я хочу, чтобы производительность базы данных не пострадала.
Я нашел эту замечательную запись в блоге JPA и UUID Primary Keys , которая помогает мне кое-что достичь. Обратите внимание, как хранение UUID оптимизируется за счет его хранения в двоичной форме (в отличие от строкового представления.
Это частично решает проблему, потому что теперь мы можем эффективно вставлять объекты в базу данных.
Однако теперь у меня есть проблема, когда я хочу запросить из базы данных с помощью EntityManager.createQuery. Возможно / желательно ли запрашивать двоичные данные? или я должен хранить строковый UUID вместе с двоичной версией для облегчения запросов?