hibernate單向多對多查詢問題
User與Role多對多關系,如果設計成User單向多對多Role:
當要根據角色ID查詢用戶列表時,HQL:from User a join a.roles b where b.id=?即可
可是如果要根據用戶名查詢角色列表時,HQL又該怎么寫呢?注意Role中并沒有引用User。
當然如果將User和Role設計成雙向多對多關系,那么問題就很容易解決了:
from User a join a.roles b where b.id=?
from Role a join a.users b where b.id=?
個人感覺如果從業務上來說或者從領域建模角度來說,將User和Role設計從單向多對多關系應該比較適合。
對hibernate的hql不是很熟悉,同時感覺如果用Criteria感覺很不習慣。
不知道誰有高招啊。