Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Armazenando UUID como string no mysql usando JPA


basta usar@org.hibernate.annotations.Type(type="uuid-char")

Existem três níveis de tipos de dados:
- Tipos Java
- Tipos do Hibernate
- Tipos específicos de banco de dados.

A apresentação do tipo de dados do Hibernate é uma ponte entre o tipo de dados Java e os tipos de banco de dados para serem independentes do banco de dados.

Você pode verificar estes mapeamento .Como você pode encontrar lá java.util.UUID pode ser mapeado para diferentes tipos (binário ou char/varchar). uuid-binary é a chave para o UUIDBinaryType do hibernate, você obtém esse tipo por padrão e ele será mapeado para BINARY do seu banco de dados.

Se você deseja obter o tipo CHAR sob seu UUID, você deve explicar ao hibernate que deseja seu UUIDCharType . Para fazer isso você usa uuid-char key e como você pode verificar no JavaDoc da anotação @Type:Defines a Hibernate type mapping. . Então, você usa anotação para explicar a hibernação qual ponte ele deve usar.