java - HQL连接函数

标签 java sql hibernate hql

Customer{
  String customerName
  @OneToMany
  Set users;
}
User{
  String userName;
}

当我这样做时:

选择 c.customerName 作为 customerName ,concat(u.userName) 作为 Customer c 中的 userNames,加入 c.users 作为 u

hibernate 没有返回我期望的结果。

最佳答案

不幸的是,hibernate 没有组合字符串的 SQL 聚合函数。也没有针对此的标准 SQL 聚合函数,因此每个数据库往往都有自己的函数。 NexusDB 3.x 的 LIST() 就是一个例子,它编译集合中以逗号分隔的非空值列表。

SELECT c.customerName as customerName , LIST(u.userName) as userNames 
FROM Customer c 
JOIN c.users as u
GROUP BY c.customerName;

关于java - HQL连接函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6079089/

相关文章:

Java自动属性比较

java - 如何避免 hibernate 中的脏检查

java - 在 pom.xml 中添加 hibernate-search-orm 后出错

java - Xpages:使用 OpenNTF ODA 的 Java 方法不保存文档

java - hibernate 中字符串字段与字符串数组的交集

mysql - 在 MariaDB/MySQL 中的多级 JSON 中查询特定值

sql - 如果引用存在则连接表

java - 如何在 hibernate 4.3 Integrator 中获取 JDBC 连接?

java - 递归前序遍历算法如何回到parent?

java - HQL - 用于分页的行标识符