Hibernate 标准使用 GROUP BY 和 RETURN ENTITY LIST

2024-01-09

我正在尝试使用GROUP BY在我的标准中。我需要这样做:

SELECT b FROM Book b GROUP BY volumeCode;

我有以下代码:

    Criteria c = s.createCriteria(Book.class);
    c.setProjection(Projections.projectionList().add(Projections.groupProperty("volumeCode")));
    List<Book> result = c.list();

但这个标准只返回volumeCodes(字符串列表)。我需要得到一份清单Books。所以我尝试使用变形金刚:

    Criteria c = s.createCriteria(Book.class);
    c.setProjection(Projections.projectionList().add(Projections.groupProperty("volumeCode")));
    c.setResultTransformer(Transformers.aliasToBean(Book.class));
    List<Book> result = c.list();

此代码返回空值列表。是否可以通过标准来做到这一点?


首先,投影会过滤检索到的数据量,如果您想要更多数据,您也应该将这些属性添加到投影中。

Example:

c.setProjection( Projections.projectionList()
    .add( Projections.property("id").as("id") )
    .add( Projections.property("descripction").as("description") )
    .add( Projections.groupProperty("volumeCode").as("volumeCode") ));

现在,转换器执行它所说的“Bean 别名”,它与 java bean“Book.java”的属性进行别名匹配。

Edit:

如果没有变压器,如果投影有多个属性,结果如下:

for(Object[] item:criteria.list()){
    System.out.println( (String)item[0] ); //ID
    System.out.println( (String)item[1] ); //Description
    System.out.println( (String)item[2] ); //Volume code
}

这就是为什么你会得到关于转换器的强制转换异常,尝试将每个别名与你的 java bean 的属性名称相匹配。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Hibernate 标准使用 GROUP BY 和 RETURN ENTITY LIST 的相关文章

随机推荐

  • 获取手机屏幕中心坐标

    有人可以给我一个如何获取当前显示屏幕的中心坐标的例子吗 我希望我的对象始终相对于活动视图的中心坐标 你可以尝试使用DisplayMetrics实现您的解决方案 int mWidth this getResources getDisplayM
  • 为什么我无法连接到本地主机 django 开发服务器?

    我正在创建一个 django 应用程序并正在设置本地测试环境 我可以成功得到manage py runserver工作但将我的浏览器指向任何变体http 127 0 0 1 8000 http 0 0 0 0 8000 or http lo
  • Java 同步块/代码上的线程访问

    我正在读书同步 http javarevisited blogspot com 2011 04 synchronization in java synchronized html在职的 这是示例 public class Singleton
  • 将 Instant 转换为 LocalDateTime 时的不同值

    我从服务器收到 UTC 格式的时间 我解析为Instant对象 然后将其转换为LocalDateTime 就像这样 fun String toLocaleDateTime LocalDateTime return LocalDateTime
  • Spring Data JPA 存储库:派生查询中的 IN 子句不起作用

    我有一个看起来像这样的存储库 public interface UserRepository extends JpaRepository
  • UICollectionView - 一次一个单元格的水平分页

    我正在尝试使用 collectionView 实现类似轮播的效果 我实施了UICollectionView并将其设置为显示单元格水平地 唯一的问题是我怎样才能只允许出现一个单元格并将该单元格放在屏幕上居中 注意 分页已启用 我找到了这段代码
  • 使用 ScrollViewer 单击并拖动滚动

    我想允许使用单击并拖动滚动ScrollViewer 即单击ScrollViewer并向上或向下拖动 它会相应滚动 我有一个StackPanel嵌套在一个ScrollViewer我已经可以滚动了 我相信我在某处看到过这个答案 但我似乎再也找不
  • 无法使用 netbeans 将 master 分支推送到 git 存储库

    我刚刚安装了 netbeans 并通过 ssh 连接到我的 git 存储库 除了推送主分支之外 一切正常 每次我在 master 分支上提交一些更改并尝试推送分支时 我都会收到此弹出窗口 There were errors during t
  • 在不知道参数名称的情况下打印所有 POST 请求参数

    如何使用 Python 和 Flask 打印通过 POST 请求传入的所有参数 我知道如何按名称请求参数 from flask import request key request args get key 但我不确定为什么这对我不起作用
  • 服务器的安全 ajax GET/POST 请求

    假设我使用某种 API 和我的文件服务器 php处理与 API 服务的连接 在我的客户端 我使用 AJAX 调用 如下所示 http url server server php method GET data getContent true
  • PostgreSQL 聚合或窗口函数仅返回最后一个值

    我在 PostgreSQL 9 1 中使用带有 OVER 子句的聚合函数 并且我想仅返回每个窗口的最后一行 这last value 窗口函数听起来好像它可以做我想要的事情 但事实并非如此 它为窗口中的每一行返回一行 而我只想每个窗口一行 一
  • 如何将网页另存为图像

    我有一个带有网页源的字符串 我怎样才能将它保存在 byte 中作为图像 Here http pietschsoft com post 2008 07 C Generate WebPage Thumbmail Screenshot Image
  • 哪些产品支持 3 位数区域子标签,例如拉丁美洲西班牙语的 es-419?

    哪些产品支持 3 位数区域子标签 例如拉丁美洲西班牙语的 es 419 除了更常见的 es 或 es ES 之外 网络浏览器 翻译工具和翻译人员是否熟悉这些数字代码 我已经访问过以下页面 W3C 选择语言标签 http www w3 org
  • Mathematica:删除图形基元

    鉴于g是一个具有基元的图形对象 例如Lines and Polygons 如何删除其中一些 要向现有图形对象添加更多图元 我们可以使用Show 例如 Show g g2 where g2是另一个具有其他图元的图形对象 但是如何删除不需要的原
  • FOSUserBundle:找不到安全性的路由:登录

    几天前我在这里发布了一个问题 FOSUserBundle 嵌入登录表单并选择其模板 https stackoverflow com questions 8040512 fosuserbundle embedding the login fo
  • lombok 包不存在

    我使用的是 IntelliJ IDEA 2018 2 5 社区版 以下是完整的详细信息 Build IC 182 4892 20 built on October 16 2018 JRE 1 8 0 152 release 1248 b19
  • Rstudio tcltk 包的特定问题

    我正在尝试编译一个提示用户输入的交互式代码 我将 tcltk 包用于各种对话框 一切似乎都工作正常 直到今天它停止工作 应该注意的是 a 我没有在配置方面进行任何更改 b 它只是在 RStudio 中停止工作 但在 R 中仍然可以工作 假设
  • 使用 Maven 构建时出现“负时间”错误(在 Netbeans 中)

    在 Netbeans 8 0 2 3 0 5 中使用 Maven 我收到以下 奇怪的 错误 Failed to execute goal org apache maven plugins maven war plugin 2 3 war d
  • SQL Server 中单行 MERGE/upsert 的语法

    我正在尝试在表上执行单行插入 更新 但所有示例都是针对集合的 任何人都可以修复我的语法吗 MERGE member topic ON mt member 0 AND mt topic 110 WHEN MATCHED THEN UPDATE
  • Hibernate 标准使用 GROUP BY 和 RETURN ENTITY LIST

    我正在尝试使用GROUP BY在我的标准中 我需要这样做 SELECT b FROM Book b GROUP BY volumeCode 我有以下代码 Criteria c s createCriteria Book class c se