我无法对连接表进行排序。让我解释;休眠条件api连接表问题
我有三个表。用户,角色和user_roles。 我的JPA实体是User,UserRole,UserRolePK,Role。
|User | | UserRole | | UserRolePK | | Role |
|--------| |----------| -------------- --------
|id | | pk | | user | | id |
|name | | role | | name |
其实我想要的输出是: “SELECT * FROM user_roles乌尔用户加入U ON u.ID = ur.UserID ORDER BY u.name;”
因此我尝试使用hibernate标准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'订单子句' 并且这是由标准API生成的sql查询。 __“选择this_.RoleID作为RoleID614_0_,this_.UserID作为UserID614_0_ from user_roles this_ order by a2x2_.Name asc”__ – 2010-09-03 05:50:03
也许映射有问题。如果属性是多对一关系,则创建别名通常应该加入表。您的表格图形不包含任何关系。也许你应该添加它们或将映射添加到问题中。 – Reboot 2010-09-03 07:13:28