我無法對連接表進行排序。讓我解釋;休眠條件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