Qual a lógica para busca em java

Estou com dificuldade em formular a lógica em java, para busca um usuário especifico com uma lista de endereços cadastrado nesse usuário.

Alguém pode me auxiliar?

Model usuário

@Entity
@Table(name = “usuarios”)
public class Usuario {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY) // forma nativa do mysql
private long id;

@Column( nullable=false)
@Size(max = 100)
private String nome;

@Column(unique=true, nullable=false)
@Size(max = 100)
private String email;

@Column(unique=true, nullable=false)
@Size(max = 14)
private String cpf;

@Column(name = "data_de_nascimento", nullable=false)
@Size(max = 15)
private String dataDeNascimento;

@OneToMany(mappedBy = "usuario")
private List<Endereco> enderecos;

Model Endereços

@Entity
@Table(name=“enderecos”)
public class Endereco {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private long id;
@Column( nullable=false)
@Size(max = 150)
private String lograudoro;

@Column( nullable=false)

private int numero;

@Column( nullable=false)
@Size(max = 10)
private String complemento;

@Column( nullable=false)
@Size(max = 50)
private String bairro;

@Column( nullable=false)
@Size(max = 50)
private String cidade;

@Column( nullable=false)
@Size(max = 50)
private String estado;

@Column( nullable=false)
@Size(max = 10)
private String cep;

@ManyToOne
@GeneratedValue(strategy = GenerationType.IDENTITY)
@JoinColumn(name = "usuario_id")
private Usuario usuario;

tentei esse código aqui
@GetMapping("/enderecos/usuario/{usuario_id}")
public List listaEnderecosUsuariounico(Usuario usuario){
return enderecoRepository.findAll(usuario);
}