No puedo usar la ordenación en tablas de unión. Dejame explicar;criterios de hibernación api join table problema
tengo tres tablas. usuarios, roles y user_roles. mis entidades JPA son User, UserRole, UserRolePK, Role.
|User | | UserRole | | UserRolePK | | Role |
|--------| |----------| -------------- --------
|id | | pk | | user | | id |
|name | | role | | name |
, de hecho, la salida que quiero es: "SELECT * FROM usuarios unirse a user_roles ur U en u.ID = ur.UserID ORDER BY u.name;"
así que trato de usar la API de criterios de hibernación.
CriteriaImpl criteria = (CriteriaImpl) session.createCriteria(UserRole.class);
criteria.addOrder(Order.asc("pk.user.name"));
List userRoles = criteria.list();
El error es no pudo resolver la propiedad: pk.user.name de: models.UserRole
¿Cómo puedo utilizar los criterios del API de unir tablas?
parece bueno pero no funcionó. Columna desconocida 'a2x2_.Denomine la cláusula 'in' order ' y esta es la consulta SQL generada por la API de criterios. __ "seleccione this_.RoleID como RoleID614_0_, this_.UserID como UserID614_0_ de user_roles this_ orden por a2x2_.Name asc" __ –
Quizás haya algún problema con la asignación. La creación de un alias normalmente debe unirse a la tabla, si la propiedad es una relación de muchos a uno. Los gráficos de su mesa no contienen ninguna relación. Tal vez deberías agregarlos o agregar el mapeo a la pregunta. – Reboot