Я не могу использовать сортировку по таблицам соединений. Позволь мне объяснить;hibernate критерии api join table problem
У меня есть три стола. пользователей, ролей и user_roles. мои объекты JPA - это User, UserRole, UserRolePK, Role.
|User | | UserRole | | UserRolePK | | Role |
|--------| |----------| -------------- --------
|id | | pk | | user | | id |
|name | | role | | name |
на самом деле вывод, что я хочу: "SELECT * FROM user_roles Ур РЕГИСТРИРУЙТЕСЬ пользователи Мириэль u.ID = ur.UserID ORDER BY u.name;"
поэтому я пытаюсь использовать API-интерфейс спящего режима.
CriteriaImpl criteria = (CriteriaImpl) session.createCriteria(UserRole.class);
criteria.addOrder(Order.asc("pk.user.name"));
List userRoles = criteria.list();
Ошибка не может разрешить свойство: pk.user.name из: models.UserRole
Как я могу использовать критерии API на объединения таблиц?
кажется хорошим, но он не работает. Неизвестный столбец 'a2x2_.Имя 'in' order clause ' и это запрос sql, который был сгенерирован с помощью API критериев. __ "выберите this_.RoleID как RoleID614_0_, this_.UserID as UserID614_0_ из user_roles this_ order by a2x2_.Name asc" __ –
Возможно, что-то не так с отображением. Создание псевдонима должно обычно соединяться с таблицей, если свойство является отношением «много к одному». Графики таблиц не содержат никаких отношений. Может быть, вы должны добавить их или добавить сопоставление в вопрос. – Reboot