Listar dados de uma relação @ManyToMany
13/01/2021
0
Pessoal,
Criei uma relação @ManyToMany entre as entidades Paciente e Alergia gerando uma tabela auxiliar chamada alergia_pacientes que guarda os ids de ambas. Estou tentando listar os pacientes cadastrados e mostrar o tipo de alergia de cada um deles, porém o resultado que recebo é este "Alergia: [Alergia [id=1, alergia=LEITE], Alergia [id=2, alergia=FRUTOS DO MAR]] [Alergia [id=1, alergia=LEITE], Alergia [id=2, alergia=FRUTOS DO MAR]]". O resultado está até correto, mas só quero receber os nomes. As minhas classes estão assim:
Metodo lista Classe PacienteController
Classe Paciente
Classe Alergia
Html para mostrar o resultado
Criei uma relação @ManyToMany entre as entidades Paciente e Alergia gerando uma tabela auxiliar chamada alergia_pacientes que guarda os ids de ambas. Estou tentando listar os pacientes cadastrados e mostrar o tipo de alergia de cada um deles, porém o resultado que recebo é este "Alergia: [Alergia [id=1, alergia=LEITE], Alergia [id=2, alergia=FRUTOS DO MAR]] [Alergia [id=1, alergia=LEITE], Alergia [id=2, alergia=FRUTOS DO MAR]]". O resultado está até correto, mas só quero receber os nomes. As minhas classes estão assim:
Metodo lista Classe PacienteController
@GetMapping("lista") public String lista(Model model) { List <Paciente> pacientes = pacienteRepository.findAll(); model.addAttribute("pacientes", pacientes); return "paciente/lista"; }
Classe Paciente
@ManyToMany(cascade = CascadeType.ALL, mappedBy = "pacientes") private List<Alergia> alergias = new ArrayList<Alergia>();
Classe Alergia
@ManyToMany @JoinColumn(name = "paciente_alergia") private List<Paciente> pacientes ;
Html para mostrar o resultado
<div class="col-md-6 alert alert-dark"> <label class="form-label">Alergia:</label> <div th:text="${paciente.alergias}"></div> </div>
Eduardo
Curtir tópico
+ 1
Responder
Posts
14/01/2021
Eduardo
Consegui resolver com th:each.
<div class="col-md-6 alert alert-dark" > <label class="form-label">Alergia:</label> <div th:each = "paciente : ${paciente.alergias}" th:text="${paciente.alergia}"> </div> </div>
Responder
Clique aqui para fazer login e interagir na Comunidade :)