Java 使用JPA选择多个计数

Java 使用JPA选择多个计数,java,sql,jpa,jpql,Java,Sql,Jpa,Jpql,我有一个实体票证,它基于票证表 |TICKETID|CUSTOMER|PRIORITY| |1001 |CUST1 |3 | |1002 |CUST2 |4 | 我想返回一张包含客户和优先级计数的表,例如 |CUSTOMER|P1|P2|P3|P4| |CUST1 |0 |0 |1 |0 | |CUST2 |0 |0 |0 |1 | 如何使用JPA/JPQL实现这一点?我可以相对容易地使用SQL返回结果集,因此我可以在数据库中创建一个视图

我有一个实体票证,它基于票证表

|TICKETID|CUSTOMER|PRIORITY|
|1001    |CUST1   |3       |
|1002    |CUST2   |4       |
我想返回一张包含客户和优先级计数的表,例如

|CUSTOMER|P1|P2|P3|P4|
|CUST1   |0 |0 |1 |0 |
|CUST2   |0 |0 |0 |1 |
如何使用JPA/JPQL实现这一点?我可以相对容易地使用SQL返回结果集,因此我可以在数据库中创建一个视图

我的第一个想法是创建一个实体计数,使用JPQL语句检索每个计数。这使得添加到JSF表非常容易

我的问题是,以前没有使用过JPQL,我不知道如何/在哪里实现它

编辑:


我的问题是,如何设置类以从票据实体获取结果集?

感谢您的回答,但我很难理解如何将结果返回给JSF。据我所知,我需要一个能够在xhtml文档中使用的实体。我不知道如何将其放入另一个类中。这是一个完全不同的问题,不是吗?@Gimby不一定,我在问:为了返回查询的结果集,我的类结构应该是什么样的。我知道这个查询是什么,只是不知道把它放在哪里以及如何实现它。我一直在看criteria builder,但我也不知道该把它放在哪里。你的想法是使用数据库视图,然后创建一个JPA实体来匹配它,这对我来说并不是太糟糕。JEE教程和/或一本关于JPA的好书回答了其他问题。
SELECT a.customer as customer, a.priority as p1, b.priority as p2,
c.priority as p3, d.priority as p4
FROM ticket as a
INNER JOIN ticket  AS b ON  a.customer = b.customer
INNER JOIN ticket  AS c ON  c.customer = b.customer
INNER JOIN ticket  AS d ON  c.customer = d.customer;

Not really efficient, though.