获取JQL中Enum值的计数

时间:2013-05-21 07:21:26

标签: jpa jql

JQL是否可以根据Enum的值获得计数?例如,Enum的值为Single,Married,Divorced等,并在单个Java Persistence Language Query中获取Persons Entity的数量?

1 个答案:

答案 0 :(得分:2)

有两种方法,要么使用分组依据,要么在Select子句中使用子选择

Select Count(p), p.status from Person p group by p.status

,或者

Select (Select Count(p) from Person p where p.status = Status.Single), (Select Count(p) from Person p where p.status = Status.Married), (Select Count(p) from Person p where p.status = Status.Divorced)

但JPA不支持Select子句中的子选择(我认为至少是JPA 2.0,2.1),EclipseLink 2.4或更高版本确实支持这一点。