【发布时间】:2015-10-26 05:14:32
【问题描述】:
您好,我有一个 OneToMany 关联(用户---会员), 我需要找到具有更多会员资格的用户,其属性 Membership.status 等于“接受”。
我是这样想的:
@Query("select u from User u join u.memberships m where count(m) = "
+ "(select max(count(m1)) from User u1 join u1.memberships m1 where m1.status ="
+ " 'ACCEPTED') and m.status = 'ACCEPTED'")
控制台打印:
2015-10-26 16:45:13,514 [main] WARN org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 1111, SQLState: HY000
2015-10-26 16:45:13,514 [main] WARN org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 1111, SQLState: HY000
org.hibernate.exception.GenericJDBCException: could not extract ResultSet
2015-10-26 16:45:13,514 [main] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Invalid use of group function
2015-10-26 16:45:13,514 [main] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Invalid use of group function
你能帮我解决这个问题吗?谢谢。
【问题讨论】:
-
以及完整的异常、堆栈跟踪、JPA 实现调用的 SQL?
-
我没有说,因为只是说我不知道做这个查询。