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感觉很不习惯。
不知道谁有高招啊。