我有两个实体Race和Player,而hibernate创建了一个表race_player,因为Race和Players是通过ManyToMany关系链接的。
我需要获得比赛列表:
我一整天都在搜索hql格式的以下查询:
选择种族名称 从种族 where status ='available' 和idrace( 选择raceid 来自race_player 由raceid组 有计数(raceid)> 1);
问题是表race_player不能在hql查询中使用。
我不知道如何获取此信息,因为播放器的数量仅在race_player表中引用。
感谢您的帮助!
答案 0 :(得分:0)
是的,你是对的。你不能在hql中使用race-player表,因为没有类直接映射到该表。你会有Race类的玩家列表。 尝试使用:
Select raceName from Race r where r.status = 'available' and r.playersList.size >1
希望它有所帮助。
答案 1 :(得分:0)
感谢您的帮助,我非常接近找到解决方案。实际上,这是一个语法问题。拉曼,我尝试了你的解决方案,这几乎是正确的。我不得不在字符串比较之间写入没有空格的请求,如下所示:
Select raceName from Race r where r.status='available' and r.playersList.size >1
Creazy不是吗?我已经失去了很多时间和一些头发,但最后很高兴让这个没有例外。再一次,谢谢!