如何使用JPA聚合字符串?

Ste*_*han 5 java string hibernate jpa aggregate

基础数据:

DEPTNO ENAME
------ ------
    20 SMITH
    30 ALLEN
    30 WARD
    20 JONES
    30 MARTIN
    30 BLAKE
    10 CLARK
    20 SCOTT
    10 KING
    30 TURNER
    20 ADAMS
    30 JAMES
    20 FORD
    10 MILLER
Run Code Online (Sandbox Code Playgroud)

期望的输出:

DEPTNO EMPLOYEES
------ ---------
    10 CLARK,KING,MILLER
    20 SMITH,FORD,ADAMS,SCOTT,JONES
    30 ALLEN,BLAKE,MARTIN,TURNER,JAMES,WARD
Run Code Online (Sandbox Code Playgroud)

我尝试过这个 jpql 查询:

 SELECT deptno, new list(ename) as employees
 FROM dept_emp
Run Code Online (Sandbox Code Playgroud)

然而,出现了一个例外:

org.hibernate.hql.internal.ast.QuerySyntaxException:意外标记:第 1 行第 15 列附近的新内容

JPA 2.1
休眠 4.3.1

另请参阅: /sf/answers/1719943221/

yun*_*ula 1

首先要使用 jpa ,您应该实体类。

@Entity
class Employee {
   int deptNo;
   String name;

}
Run Code Online (Sandbox Code Playgroud)

查询是

SELECT e.deptNo , new list(e.name) FROM Employee e GROUP BY e.deptNo
Run Code Online (Sandbox Code Playgroud)