Je ne peux pas utiliser le tri sur les tables de jointure. Laisse-moi expliquer;Critères d'hibernation api problème de table de jointure
J'ai trois tables. utilisateurs, rôles et user_roles. mes entités JPA sont User, UserRole, UserRolePK, Role.
|User | | UserRole | | UserRolePK | | Role |
|--------| |----------| -------------- --------
|id | | pk | | user | | id |
|name | | role | | name |
en fait la sortie que je veux est: "SELECT * FROM user_roles ur utilisateurs u ON Inscrivez-u.ID = ur.UserID ORDER BY u.name;" Donc j'essaie d'utiliser l'API des critères hibernate.
CriteriaImpl criteria = (CriteriaImpl) session.createCriteria(UserRole.class);
criteria.addOrder(Order.asc("pk.user.name"));
List userRoles = criteria.list();
L'erreur est ne pouvait pas résoudre la propriété: pk.user.name de: models.UserRole
Comment puis-je utiliser l'API de critères sur jointures de tables?
semble bon mais cela n'a pas fonctionné. Colonne inconnue 'a2x2_.Nom dans la 'clause de commande' et c'est la requête sql qui a été générée par l'API de critères. __ "Sélectionnez this_.RoleID comme RoleID614_0_, this_.UserID comme UserID614_0_ à partir de user_roles this_ order par a2x2_.Name asc" __ –
Peut-être que quelque chose ne va pas dans le mapping. Créer un alias devrait normalement rejoindre la table, si la propriété est une relation plusieurs-à-un. Vos graphiques de table ne contiennent aucune relation. Peut-être que vous devriez les ajouter ou ajouter le mappage à la question. – Reboot