При селекте из бд берется один и тот же элемент
Имеется таблица, где под одним идешником могут быть записаны несколько значений (там строка). Найти идешник по значению получается, но найти по идешнику все значения не получается, точнее я получаю List<Entity> selected_rows, в котором записываются все совпадения и я могу узнать количество совпадений (.size()), но в значение каждого элемента листа записывается первое совпадение, пример:
name = Avrora, id = 15
name = Avrora, id = 15
name = Avrora, id = 15
name = Avrora, id = 15
А если в постгресе сделать запрос select where id = 15
name = Avrora, id = 15
name = Aaao, id = 15
name = Circle, id = 15
name = Ddddd, id = 15
Почему так получается?
CriteriaBuilder builder = dbSession.getCriteriaBuilder();
CriteriaQuery<Entity> query = builder.createQuery(Entity.class);
Root<Entity> root = query.from(Entity.class);
query.select(root).where(builder.equal(root.get("id"), id));
List<Entity> selected_rows = dbSession.createQuery(query).getResultList();
Ответы (1 шт):
Автор решения: user397293
→ Ссылка
В JPA поменял @Id от id на name, т.к в моем случае id не уникален, а name уникален.