Hibernate:如何在HQL中使用数组到字符串(ARRAY())
POITableHibernate:如何在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; //
@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对象模型(实体是问题主体中的第一件事)请仔细阅读我的问题,无论如何,我都添加了(模型和模式)以使问题更清楚:)