如何使用 Hibernate Criteria 选择嵌套属性

2024-01-14

我有三个实体,例如注册、用户和国家/地区。基本上,一个注册属于一个用户,一个用户属于一个国家。现在我尝试使用以下内容从注册中选择国家/地区名称

        Criteria criteria = getSession().createCriteria(Registration.class);
        ProjectionList projectionList = Projections.projectionList();
        criteria.createAlias("user.country", "usercountry");
        projectionList.add(Projections.property("usercountry.name"),"usercountry.name");
        criteria.setProjection(projectionList);
        criteria.list();

这失败了并给我:

ERROR: org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Unknown column 'usercountr1_.name' in 'field list'
org.hibernate.exception.SQLGrammarException: Unknown column 'usercountr1_.name' in 'field list'

生成的 Hibernate 查询:

Hibernate: select usercountr1_.name as y0_ from voucherList this_

我注意到sql中没有连接。这就是查询失败的原因吗?我怎样才能解决这个问题 ?


尝试类似的东西

Criteria criteria = getSession().createCriteria(Registration.class);
ProjectionList projectionList = Projections.projectionList();

criteria.createAlias("user", "u");  // here i changed 
criteria.createAlias("u.country", "usercountry");  //  here i have changed 

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

如何使用 Hibernate Criteria 选择嵌套属性 的相关文章

随机推荐

  • 如何在 cygwin 上安装 cURL?

    我尝试在 cygwin 上启用curl 但它说bash curl command not found 如何在 cygwin 上安装curl 我刚刚遇到这个 1 从以下位置找到cygwin setup exe文件http cygwin com
  • 使文本高度为 div 的 100%?

    我正在尝试使文本的高度为 100 div但它不起作用 它只是变成了100 body font size 有什么办法让它跟随div高度吗 The div高度是整个页面的 4 当您调整大小 更改分辨率时 我不希望文本跟随它 为了获得我想要的结果
  • 是否可以在打字稿中创建动态 getter/setter?

    我是 TypeScript 新手 我正在尝试将我们的应用程序从 es2016 重写为 TypeScript 我的任务是拥有一个具有数据属性的类 并使数据对象中的每个元素可用作类属性 我被这段 JavaScript 代码困住了 for let
  • Django:关闭http响应消息的控制台输出

    所以我们用 django 制作了一个应用程序 每次收到请求时它都会在控制台上打印所有这些 http 响应消息 Date String GET urlpath blah blah 200 216 Date String DELETE anot
  • jQuery 数据表问题

    当使用jQuery 数据表插件 http datatables net 为什么我会收到此错误 k 未定义 style typeof e saved aaSorting 未定义 我发布这个答案是为了记录一些东西以供自己将来参考 我希望它能对其
  • EqualityComparer.Default 不够聪明

    我正在阅读源代码EqualityComparer
  • 带有圆角的 AppWidget 图像

    因此 我通过在应用程序的主布局中向用户显示的各种视图进行动画处理 在应用程序中动态创建图像 目前 我正在相对布局中生成场景 将布局图像作为位图 然后将位图保存到 SD 以便 appwidget 通过 uri 访问 这一切都工作得很好 但是
  • 如何在Linux内核中找到sk_buff的所有者套接字?

    我正在尝试找到一个的所有者插座sk buff举例来说 skb 我的最终目标是找到特定的 TCP 选项并以某种方式让用户空间应用程序知道 我打算在找到TCP选项时设置一个套接字选项并让用户空间应用程序调用getsockopt 因此我需要知道之
  • Python 字符串转 Int 或 None

    学习Python 有点卡壳 我正在尝试将变量设置为等于int stringToInt 或者如果字符串为空则设置为None 我尝试做variable int stringToInt or None但如果字符串为空 则会出错 而不仅仅是将其设置
  • Django模型列表顺序字段更新

    我有一张桌子 比方说Book 具有以下模型定义 class Book models Model name models CharField name of the book max length 10 sequence models Int
  • System.Threading.Tasks.Dataflow 和 Microsoft.Tpl.Dataflow 之间有什么区别

    有 2 个不同的官方 TPL Dataflow nuget 包 我很困惑选择应该使用哪一个 据我了解 System Threading Tasks Dataflow 版本比其他版本稍新 而且 System Threading Tasks D
  • 警告 - 初始化使指针来自整数而不进行强制转换

    我发现了类似的问题 但我认为它们不适用于我的具体问题 所以如果它们适用 我很抱歉 我作为一年级 CS 学生正在学习 C 并尝试用 C 进行测验 但我一无所获 因为每次我尝试编译以查看它是否正常工作时 我都会收到消息 警告 初始化使指针从未经
  • 新数据框列作为另一个数据框的函数(摘要)对我不起作用

    我想创建一个新的计算列 另一列文本的摘要 为了让您重现 我创建了一个 df 作为可重现的示例 df lt data frame name replicate 1000 paste sample LETTERS 20 replace TRUE
  • 如何添加case语句以在每条记录后添加break?

    每行之后应该有一个休息时间LIKE A 当找到下一条记录时LIKE B stmt con gt prepare SELECT FROM fistevent WHERE Event Id AND TicketType AND row name
  • 无需 jQuery 即可获得 innerWidth() 等效项

    我目前正在努力从我编写的一些代码中消除 jQuery 并且我有一部分代码 其中我正在计算某些代码的内部和外部宽度span元素 这好像是 getBoundingClientRect 对于获取元素的外部宽度效果很好 但我在获取内部宽度方面有点困
  • 如果参数有成员变量则特殊化函数

    我有一个模板化的错误报告函数 因为它可以报告许多不同消息类别的错误 template
  • 将希腊字符和星号 (*) 添加到轴标题

    我想在 R 中的直方图的 x 轴上添加一个希腊字符 我可以单独写希腊字符或与帽子一起写 但问题是我需要这个字符带有帽子和星号 一起 更具体地说 我想要像 hat phi 这是我所做的 x rnorm 1000 hist x nclass 1
  • sublime text-“列出包含“查找”字符串的行

    如何列出包含 find 命令中的匹配项的行 即 我想在单独的窗口中列出所有匹配的行 目前只能转到下一个 上一个 查找 Try Find in Files Cmd Shift F on a Mac presumably Ctrl Shift
  • 多个线程同时使用同一个 JDBC 连接

    我试图更好地理解如果多个线程尝试使用相同的 JDBC 连接同时执行不同的 sql 查询会发生什么 结果在功能上是否正确 对性能有何影响 会穿线A必须等待线程B完全完成其查询 或者会穿线A能够在线程之后立即发送其查询B已发送查询 之后数据库将
  • 如何使用 Hibernate Criteria 选择嵌套属性

    我有三个实体 例如注册 用户和国家 地区 基本上 一个注册属于一个用户 一个用户属于一个国家 现在我尝试使用以下内容从注册中选择国家 地区名称 Criteria criteria getSession createCriteria Regi