A entidade está no banco de dados, mas find
retornará nulo
Acho que é um problema com o cliente Vert.x SQL, mas preciso verificar com um teste
Eu encontrei o problema.
A tabela tem uma coluna definida como binary(255)
mas o UUID é criado como binary(16)
. Isso funciona para o outro dialeto, mas não para MySQL / MariaDB com cliente vert.x SQL
Hrm, sim, parece que este é um bug que consertei no H6, corrigindo o comprimento de coluna padrão quebrado para UUIDBinaryType
. Eu o defino como 16 por padrão. Em H5, o comprimento da coluna é padronizado para algo estúpido (255 aparentemente).
Eu criei um problema para o cliente Vert.x SQL: https://github.com/eclipse-vertx/vertx-sql-client/issues/922
Isso parece um bug, considerando que funciona para todos os outros bancos de dados.
Acho que uma solução alternativa no momento é definir o tipo da coluna:
@Column(columnDefinition = "binary(16)")
UUID id;
Honestamente, não tenho certeza se é um bug de driver porque sinto que tive o mesmo problema com JDBC.
Mas posso estar me lembrando mal.
Algo me motivou a resolver o problema em H6.
Acho que uma solução alternativa no momento é definir o tipo da coluna
Sim, claro, exatamente.
Talvez eu possa alterar o UUIDType ao usar reativo
Não porque em H5 um tipo não pode determinar o comprimento da coluna.
Tive que construir toda uma infraestrutura para isso em H6. E IIRC não era tão trivial.
Honestamente, não tenho certeza se é um bug de driver porque sinto que tive o mesmo problema com JDBC.
Eu testei e parece funcionar quando uso o Hibernate ORM e JDBC
Tive que construir toda uma infraestrutura para isso em H6. E IIRC não era tão trivial.
Parece que não há muito mais que eu possa fazer sobre isso no momento.
Vou esperar para ver o que eles acham do lado do cliente Vert.x SQL e, enquanto isso, enviarei um PR com um caso de teste para o outro banco de dados.
Honestamente, não tenho certeza se é um bug de driver porque sinto que tive o mesmo problema com JDBC.
Eu testei e parece funcionar quando uso o Hibernate ORM e JDBC
OK, tudo bem, então devo ter me lembrado mal.
Adicionei um caso de teste (UUIDAsBinaryType), mas não vou encerrar este problema por agora: https://github.com/hibernate/hibernate-reactive/pull/680
Esperando para ver se a equipe VErt.x vai fazer algo a respeito
OK, tudo bem, então devo ter me lembrado mal.
Não, você estava certo. Acabei de verificar e não funciona para MySQL nem MariaDB com ORM e JDBC
Eu errei em algum lugar quando verifiquei pela primeira vez.
Então, no final das contas não é um problema para o motorista.
Gostaria de saber se devemos mencionar isso na documentação antes de encerrar este problema.
Não é muito intuitivo
Gostaria de saber se devemos mencionar isso na documentação antes de encerrar este problema.
Você poderia colocá-lo no FAQ, suponho, mas na verdade ele pertenceria à documentação do ORM, se em algum lugar. Não acho que precisamos mencionar isso nos documentos de RH.
Acho que devemos encerrar este problema.
Ok vamos fechar