Привет всем, я использую SpringBoot с Mysql. У меня есть эта ошибка, когда я пытаюсь показать информацию
У меня есть код ниже в моем контроллере:
query did not return a unique result: 2; nested exception is javax.persistence.NonUniqueResultException: query did not return a unique result: 2
org.springframework.dao.IncorrectResultSizeDataAccessException: query did not return a unique result: 2; nested exception is javax.persistence.NonUniqueResultException: query did not return a unique result: 2
Код
@GetMapping("showdeveforma/{id}")
public String ShowDeveFormation(Model m , @PathVariable Long id)
{
Formation frm = frmreop.findById(id).get();
m.addAttribute("avis", srv.findByforma(frm));
return"ChefProjetAffichageAffectationDeveForma";
}






Ваш метод DAO возвращает более одной строки, но у вас есть одно значение в качестве определенного типа результата, а не коллекции.
Тип возвращаемого значения вашего репозитория — одно значение: srv.findByforma(frm). Запрос возвращает более одного результата. Вы можете использовать коллекцию, если это ожидаемое поведение, или вам нужно выяснить, почему для данной формации существует более одной сущности. (Проверьте отношения сущностей)
вы можете дать мне пример использования коллекции, пожалуйста
когда вы определяете свой метод репозитория YourReturnType findByforma(Formation f), вместо YourReturnType вы можете вернуть List<YourReturnType>
Я повторяю это, но не могу разрешить информацию Controller :
@GetMapping("showdeveforma/{id}")
public String ShowDeveFormation(Model m , @PathVariable Long id)
{
//Formation frm = frmreop.findById(id).get();
// m.addAttribute("avis", srv.findByforma(frm));
m.addAttribute("ide", id);
m.addAttribute("avis" , srv.getAvisFormation());
return"ChefProjetAffichageAffectationDeveForma";
}
и моя страница html:
<thead>
<tr>
<td> Titre Formation </td>
<td> Description Formation </td>
<td> Adresse Formation </td>
<td> Formateur </td>
<td>Telephone Foramteur </td>
<td> Nom Devellopeur </td>
<td> Prenom Devellopeur </td>
<td> Telephone Devellopeur </td>
<td> Emain Devellopeur</td>
</tr>
</thead>
<tbody>
<tr th:each = "avis : ${avis}" th:if = "${avis.forma.id} == 'ide'">
<td th:text = "${avis.forma.NomFormation}"> </td>
<td th:text = "${avis.forma.DescriptionFormation}"> </td>
<td th:text = "${avis.forma.AdresseFormation}"> </td>
<td th:text = "${avis.forma.formateurs.PrenomFormateur}"> </td>
<td th:text = "${avis.forma.formateurs.TelephoneFormateur}"> </td>
<td th:text = "${avis.deve.NomDeve}"> </td>
<td th:text = "${avis.deve.PrenomDeve}"> </td>
<td th:text = "${avis.deve.TelephoneDeve}"> </td>
<td th:text = "${avis.deve.EmailDeve}"> </td>
</tr>
</tbody>
</table>
как можно использовать FindAllByAttribut?