Mysql
 sql >> Base de données >  >> RDS >> Mysql

Stockage de l'UUID sous forme de chaîne dans mysql à l'aide de JPA

utilisez simplement @org.hibernate.annotations.Type(type="uuid-char")

Il existe trois niveaux de types de données :
- types Java
- types Hibernate
- types spécifiques à la base de données.

La présentation du type de données Hibernate est un pont entre le type de données Java et les types de base de données pour être indépendant de la base de données.

Vous pouvez vérifier ces mappings .Comme vous pouvez y trouver java.util.UUID peut être mappé à différents types (binaire ou char/varchar). uuid-binary est la clé du UUIDBinaryType d'hibernate, vous obtenez ce type par défaut et il sera mappé sur BINARY de votre base de données.

Si vous voulez obtenir le type CHAR sous votre UUID, vous devez expliquer à hibernate que vous voulez son UUIDCharType . Pour ce faire, vous utilisez uuid-char clé et comme vous pouvez le vérifier dans JavaDoc de l'annotation @Type :Defines a Hibernate type mapping. . Donc, vous utilisez des annotations pour expliquer à hibernate quel pont il doit utiliser.