Hibernate:如何在HQL中使用数组到字符串(ARRAY())

Hibernate:如何在HQL中使用数组到字符串(ARRAY()),hibernate,Hibernate,POITable @Entity @Table(name="User") public class User implements Serializable{ private String username; //Key // Getters and setters } @Entity @Table(name="POITable") public class POI implements Serializable{ private Integer id; //

POITable

@Entity
@Table(name="User")
public class User implements Serializable{
    private String username; //Key

    // Getters and setters
}    

@Entity
@Table(name="POITable")
public class POI implements Serializable{
    private Integer id; //Key
    private String name;

    // Getters and setters
}

@Entity
@Table(name="VisitedPlaceTable")
public class VisitedPlace implements Serializable{
    private Integer id; //Key
    private User user; //Many TO One relation
    private POI poi; //Many TO One relation

    // Getters and setters
}
===================
| id |    name    |
ــــــــــــ+ـــــ+
| 1  | poi name 1 |
-----+------------+
| 2  | poi name 2 |
===================
访问位置表

@Entity
@Table(name="User")
public class User implements Serializable{
    private String username; //Key

    // Getters and setters
}    

@Entity
@Table(name="POITable")
public class POI implements Serializable{
    private Integer id; //Key
    private String name;

    // Getters and setters
}

@Entity
@Table(name="VisitedPlaceTable")
public class VisitedPlace implements Serializable{
    private Integer id; //Key
    private User user; //Many TO One relation
    private POI poi; //Many TO One relation

    // Getters and setters
}
===================
| id |    name    |
ــــــــــــ+ـــــ+
| 1  | poi name 1 |
-----+------------+
| 2  | poi name 2 |
===================
这是本机查询

=================================
| id |  user_username  | poi_id |
ــــــــ+ـــــــــــــــــ+ـــــ+
| 3  | xxxx@gmail.com  |   1    |
-----+-----------------+--------+
| 4  | xxxx@gmail.com  |   2    |
=================================
返回下一个结果(TRUE和预期结果:))

"xxxx@gmail.com“,“1 | 2”

但在HQL中

SELECT CONCAT('"',model.user_username,'","',**ARRAY_TO_STRING(ARRAY(SELECT DISTINCT visitedPlace.poi_id FROM VisitedPlaceTable visitedPlace WHERE visitedPlace.user_username = model.user_username),'|')**,'"','') FROM TourismPOIVisited model  INNER join POITable poi on poi.id = model.poi_id WHERE model.user_username='xxxx@gmail.com' GROUP BY model.user_username
它开火了

第1:70行:意外标记:选择


那么,如何在HQL中使用ARRAY\u TO\u STRING(ARRAY())或任何其他等效函数来实现这一点呢?

HQL查询是针对对象模型编写的,而不是针对数据库架构。因此,发布您的Pojo和主类,以便我们能够help@Akshay对象模型(实体是问题主体中的第一件事)请仔细阅读我的问题,无论如何,我都添加了(模型和模式)以使问题更清楚:)