Fórum Listar dados de uma relação @ManyToMany #613788
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
+ 2
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
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)