1
resposta

Erro ao fazer o request do pedido pelo usuario e status

Ao adicionar o metodo findByStatusAndUsuario() na PedidoRepository, toda a navegação na pagina usuario/home esta retornando a exception: "java.sql.SQLException: Cannot convert string '\xAC\xED\x00\x05~r...' from binary to utf8mb4"

estou utilizando o MySQL e tentei adaptar a seguinte query:

@Query(value = "SELECT * FROM PEDIDO p WHERE p.user_username = :username and p.status = :status", nativeQuery = true)
    List<Pedido> findByStatusAndUsuario(@Param("status")StatusPedido status, @Param("username")String username);
1 resposta

Olá Eduardo, tudo bem?

Pelo que entendi, você está tendo um problema ao adicionar o método findByStatusAndUsuario() na PedidoRepository. A exception que está sendo retornada indica que não é possível converter uma string de binário para utf8mb4.

Uma possível solução para esse problema é verificar se o seu banco de dados está configurado corretamente para suportar a codificação utf8mb4. Você pode verificar isso executando a seguinte query no seu banco de dados: SHOW VARIABLES LIKE 'character\_set\_%'.

Outra possível solução é utilizar a anotação @Column(columnDefinition = "BLOB") na entidade Pedido para indicar que o campo deve ser armazenado como um objeto binário. Dessa forma, o Spring Data JPA irá armazenar o objeto como um array de bytes no banco de dados.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software