Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Por que não fazer assim? (acredito ser mais fácil)

No repository, o instrutor utilizou JPQL para fazer a query e fez um join. Eu acho que o join ficou meio confuso, pelo menos nessa situação + a explicação dele.

Tentei utilizar o que foi ensinado no curso de Spring Data, com queries nativas:

@Query(value = "SELECT * FROM pedidos WHERE user_username = :username", nativeQuery = true)
List<Pedido> findAllByUser(String username);

e este método funcionou tranquilamente. E aliás, do jeito que a entidade "Pedido" está declarada, ao buscar um objeto no banco de dados não gera nenhuma query N+1, resultados do console: Hibernate: SELECT * FROM pedidos WHERE user_username = ?

EDIT:

Na verdade, poderia ficar assim:

List<Pedido> findByStatus(StatusPedido status);

List<Pedido> findByUser(User user);

List<Pedido> findByStatusAndUser(StatusPedido status, User user);
1 resposta
solução!

Perfeito Arthur,

eu até prefiro assim:

List<Pedido> findByStatusAndUser(StatusPedido status, User user);