我有一个基于Java/JPA/Hibernate/MySQL的应用程序。我想使用UUID作为对象标识,但我希望确保数据库性能不会受到影响。
我发现了这篇很棒的博客文章JPA and UUID Primary Keys,它让我迈出了一部分的步伐。请注意,通过以二进制形式存储UUID来优化存储(而不是字符串表示)。
这解决了部分问题,因为现在我们可以有效地将对象插入到数据库中。
然而,当我想使用EntityManager.createQuery从数据库查询时,我遇到了问题。是否可以/应该针对二进制数据进行查询?或者,应该将String UUID与二进制版本一起存储以便于查询?
我发现了这篇很棒的博客文章JPA and UUID Primary Keys,它让我迈出了一部分的步伐。请注意,通过以二进制形式存储UUID来优化存储(而不是字符串表示)。
这解决了部分问题,因为现在我们可以有效地将对象插入到数据库中。
然而,当我想使用EntityManager.createQuery从数据库查询时,我遇到了问题。是否可以/应该针对二进制数据进行查询?或者,应该将String UUID与二进制版本一起存储以便于查询?