Hibernate 抓取条件被忽略

2024-01-17

我有一些与 LoginSession 类具有一对多关系的 User 类(我的 User 类中有一个 LoginSession 集合)。

@Entity(name="T_User")
public class User() 
{
   ....
     @OneToMany(fetch=FetchType.LAZY, mappedBy="user", cascade=CascadeType.ALL)
     @Fetch(FetchMode.SELECT)
     @JsonIgnore
     private Set<LoginSession> userLoginSession;
   ....
 }

这是 LoginSession 类:

@Entity(name="T_LoginSession")
public class LoginSession extends BasicDTO
{

    @ManyToOne
    @JoinColumn(name="userId")  
    protected User user;
    ...

我有这个标准:

Criteria crit = session.createCriteria(User.class);
crit.setFetchMode("loginSession", FetchMode.JOIN);
crit.createAlias("userLoginSession", "session");
crit.add(Restrictions.eq("session.token", sessionToken));
crit.setMaxResults(1);
crit.setFirstResult(0);
crit.setFetchSize(1);

问题是获取总是惰性的。我怎样才能使它成为Eager(通过标准而不是通过属性注释)?

Note:
如果我添加@Fetch上面的注释private Set<LoginSession> userLoginSession注释中设置的响应获取(我不会按标准自定义它setFetchMode).

是字段的名称(第一个参数setFetchMode方法)正确吗?

问题: 这个错误与我的问题有关吗? https://hibernate.atlassian.net/browse/HHH-6405


如前所述here https://stackoverflow.com/a/9931401/671619您不能同时过滤和急切获取集合。您可以使用相关子查询来解决它:

DetachedCriteria subquery = DetachedCriteria.For(User.class)
    .createAlias("userLoginSession", "session")
    .add(Restrictions.eq("session.token", sessionToken))
    .setFirstResult(0)
    .setMaxResults(1)     // assuming token is unique otherwise this won't restrict users but loginsessions
    .setProjection(Projections.id());

Criteria crit = session.createCriteria(User.class)
    .add(Subqueries.propertyIn("id", subquery)
    .setFetchMode("userLoginSession", FetchMode.JOIN);

注意:这是我脑海中的文本编辑器代码。方法名称可能会有所不同

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

Hibernate 抓取条件被忽略 的相关文章

  • 为什么 JTables 使 TableModel 在呈现时不可序列化?

    所以最近我正在开发一个工具 供我们配置某些应用程序 它不需要是什么真正令人敬畏的东西 只是一个具有一些 SQL 脚本生成功能并创建几个 XML 文件的基本工具 在此期间 我使用自己的 AbstractTableModel 实现创建了一系列
  • 为 java 游戏创建交互式 GUI

    大家好 我正在创建一个类似于 java 中的 farmville 的游戏 我只是想知道如何实现用户通常单击以与游戏客户端交互的交互式对象 按钮 我不想使用 swing 库 通用 Windows 看起来像对象 我想为我的按钮导入自定义图像 并
  • org.apache.hadoop.security.AccessControlException:客户端无法通过以下方式进行身份验证:[TOKEN,KERBEROS] 问题

    我正在使用 java 客户端通过 Kerberos 身份验证安全访问 HDFS 我尝试打字klist在服务器上 它显示已经存在的有效票证 我收到的异常是客户端无法通过以下方式进行身份验证 TOKEN KERBEROS 帮助将不胜感激 这是一
  • 过滤两次 Lambda Java

    我有一个清单如下 1 2 3 4 5 6 7 和 预期结果必须是 1 2 3 4 5 6 7 我知道怎么做才能到7点 我的结果 1 2 3 4 5 6 我也想知道如何输入 7 我添加了i gt i objList size 1到我的过滤器
  • jQuery AJAX 调用 Java 方法

    使用 jQuery AJAX 我们可以调用特定的 JAVA 方法 例如从 Action 类 该 Java 方法返回的数据将用于填充一些 HTML 代码 请告诉我是否可以使用 jQuery 轻松完成此操作 就像在 DWR 中一样 此外 对于
  • 从最终实体获取根证书和中间证书

    作为密码学的菜鸟 我每天都会偶然发现一些简单的事情 今天只是那些日子之一 我想用 bouncy castle 库验证 java 中的 smime 消息 我想我几乎已经弄清楚了 但此时的问题是 PKIXparameters 对象的构建 假设我
  • 将 MOXy 设置为 JAXB 提供程序,而在同一包中没有属性文件

    我正在尝试使用 MOXy 作为我的 JAXB 提供程序 以便将内容编组 解组到 XML JSON 中 我创建了 jaxb properties 文件 内容如下 javax xml bind context factory org eclip
  • Hibernate 的 PersistentSet 不使用 hashCode/equals 的自定义实现

    所以我有一本实体书 public class Book private String id private String name private String description private Image coverImage pr
  • 如何在用户输入数据后重新运行java代码

    嘿 我有一个基本的java 应用程序 显示人们是成年人还是青少年等 我从java开始 在用户输入年龄和字符串后我找不到如何制作它它们被归类为 我希望它重新运行整个过程 以便其他人可以尝试 的节目 我一直在考虑做一个循环 但这对我来说没有用
  • 如何升级 Hibernate 4.3 --> 5.2?

    我用 Google 搜索了一下 但没有看到任何将 Hibernate 升级到 5 2 的教程 我唯一能找到的是 http hibernate org search documentation migrate 5 0 http hiberna
  • Java 和 Python 可以在同一个应用程序中共存吗?

    我需要一个 Java 实例直接从 Python 实例数据存储中获取数据 我不知道这是否可能 数据存储是否透明 唯一 或者每个实例 如果它们确实可以共存 都有其单独的数据存储 总结一下 Java 应用程序如何从 Python 应用程序的数据存
  • 尝试将 Web 服务部署到 TomEE 时出现“找不到...的 appInfo”

    我有一个非常简单的项目 用于培训目的 它是一个 RESTful Web 服务 我使用 js css 和 html 创建了一个客户端 我正在尝试将该服务部署到 TomEE 这是我尝试部署时遇到的错误 我在这里做错了什么 刚刚遇到这个问题 我曾
  • logcat 中 mSecurityInputMethodService 为 null

    我写了一点android应显示智能手机当前位置 最后已知位置 的应用程序 尽管我复制了示例代码 并尝试了其他几种解决方案 但似乎每次都有相同的错误 我的应用程序由一个按钮组成 按下按钮应该log经度和纬度 但仅对数 mSecurityInp
  • 获取文件的总大小(以字节为单位)[重复]

    这个问题在这里已经有答案了 可能的重复 java 高效获取文件大小 https stackoverflow com questions 116574 java get file size efficiently 我有一个名为 filenam
  • 为什么 Java 8 不允许非公共默认方法?

    让我们举个例子 public interface Testerface default public String example return Hello public class Tester implements Testerface
  • java for windows 中的文件图标叠加

    我正在尝试像 Tortoise SVN 或 Dropbox 一样在文件和文件夹上实现图标叠加 我在网上查了很多资料 但没有找到Java的解决方案 Can anyone help me with this 很抱歉确认您的担忧 但这无法在 Ja
  • java.io.Serialized 在 C/C++ 中的等价物是什么?

    C C 的等价物是什么java io Serialized https docs oracle com javase 7 docs api java io Serializable html 有对序列化库的引用 用 C 序列化数据结构 ht
  • 如何使用 jUnit 将测试用例添加到套件中?

    我有 2 个测试类 都扩展了TestCase 每个类都包含一堆针对我的程序运行的单独测试 如何将这两个类 以及它们拥有的所有测试 作为同一套件的一部分执行 我正在使用 jUnit 4 8 在 jUnit4 中你有这样的东西 RunWith
  • 找不到符号 NOTIFICATION_SERVICE?

    package com test app import android app Notification import android app NotificationManager import android app PendingIn
  • CamcorderProfile.videoCodec 返回错误值

    根据docs https developer android com reference android media CamcorderProfile html 您可以使用CamcorderProfile获取设备默认视频编解码格式 然后将其

随机推荐

  • 使用作用域时依赖注入的顺序

    我目前正在尝试找出 Dagger 2 我正在尝试设置 4 个范围 App User Activity Fragment 用户和活动组件是应用程序的子组件 Fragment是一个以Activity为依赖的组件 假设我的 UserSetting
  • 是否有使用 ASP.NET MVC 5 Html.EditorFor() 和 Bootstrap 3.0 的解决方案?

    问题 有没有办法让 ASP NET MVC 5 Html EditorFor 表单助手使用更改后的内容Bootstrap 3 表单语法 http getbootstrap com css forms 讨论 我已经研究过的 似乎有很多关于重写
  • Python 重写 getter 而不使用 setter

    class human object def init self name self name name property def name self return self name name setter def name self v
  • 重建 Android Instant App 后,使用功能模块中基本模块中定义的颜色失败

    我有一个base模块和一个名为的功能模块query我的即时应用程序项目中的模块 My QueryActivity inside query模块使用的颜色是base module 查询活动 kt https github com mustaf
  • 分发定制 iPhone 应用程序的正确方法是什么?

    我开发了一些应用程序商店应用程序 但最近中小型公司问我是否有兴趣开发定制应用程序 我发现与 Apple 的许可和合同有点令人困惑 至少可以说 开发人员可以制作 3 种类型的构建 应用商店 Ad Hoc 企业 不需要应用程序商店 因为这些是私
  • 在 R-markdown 中显示 tibble 的所有行和列

    我正在处理 R markdown 文件 分析结果以以下形式显示tibble但为了查看所有列和行 我需要单击展开 但是 由于我要将文件编织成 html 因此我需要显示 R markdown 文件中的所有列和行 我进行了搜索并提出了以下代码 o
  • 如果 hash['a'] 不存在,如何分配 hash['a']['b']= 'c' ?

    有没有比更简单的方法 if hash key a hash a b c else hash a hash a b c end 最简单的方法是构建你的哈希 http ruby doc org core Hash html method c n
  • css-transform 动画导致闪烁

    我的代码在这里http jsfiddle net JaB5S http jsfiddle net JaB5S 您可以单击蓝色页面来运行动画 但无论何时 您都可以看到文本闪烁 直到动画完成 右侧的文字甚至消失了 我在某处读到过backface
  • 如何知道 Spring.NET 根上下文何时加载?

    我正在运行一个 Web 服务 它使用 Spring NET 来实现 IoCness 其中一个类需要在加载时执行一些操作 我正在使用AfterPropertiesSet 和 一些东西 涉及调用ContextRegistry GetContex
  • 不包含名为的导出

    我正在尝试将一个简单的组件导入到我的 React 中 我无法找到该组件 导入组件时出现以下错误 src App js 61 28 32 componentes Menu 不包含导出 名为 菜单 这是我的简单组件 import React C
  • React Native:放置全局状态变量的位置

    我正在开发我的第一个 React Native 我再次需要一些帮助 我的应用程序有一种状态 运动 这对于组件 屏幕等非常重要 根据所选的运动 我也会加载不同的样式 图像和 api 信息 将有一个模式 用户可以从中更改运动 模式现在是 Hea
  • Java:从字符串创建日期对象并插入MySQL

    每当我必须在 Java 中处理日期 时间时 这都会让我感到难过 我正在尝试解析一个字符串并将其转换为日期对象以插入到准备好的语句中 我一直在努力让它发挥作用 但运气不佳 当我去编译该类时 我还会收到有用的错误消息 线程 main java
  • 使用 json 响应时出现 406 错误

    我正在尝试通过 batman rails gem 使 Rails 应用程序与 node js 框架 batman js 一起运行 当我在 Rails 控制器中使用 json 进行响应时 每次都会收到 406 错误 但我不知道为什么 这是我的
  • Java列表中如何通过对象的属性获取对象的索引

    我想通过 Java 中的属性获取列表中对象的索引 例子 List
  • Grails,如何获取请求对象

    Grails 有一个定义的 request 对象here http grails org doc 2 2 1 ref Servlet 20API request html 问题是当我尝试使用它时 我得到 No such property r
  • 在RobotFramework中访问列表内的Dictionary元素显示错误列表对象没有属性

    这是程序代码 我有一个json文件code json 其结构如下 键 值 键 值 当我将列表元素转换为字典时 它会抛出错误 Settings Library JSONLibrary Library OperatingSystem Libra
  • 在 matplotlib 中绘制 Python networkx 图表时出现混乱

    我正在测试如何在 networkx 上创建网络图 我的问题是 当我尝试使用 matplotlib 绘制这些图表时 节点 边缘和标签显得混乱 我希望将标签附加到右侧节点 并且希望边缘看起来像连接节点 code import networkx
  • 检查字符串是否包含子字符串

    如何使用 Perl 检查给定字符串是否包含某个子字符串 更具体地说 我想看看是否s1 domain example存在于给定的字符串变量中 要查明字符串是否包含子字符串 您可以使用index http perldoc perl org fu
  • Haskell 中具有多个构造函数的记录类型

    很多时候 当我使用 Haskell 编写某些内容时 我需要具有多个构造函数的记录 例如 我想开发某种逻辑方案建模 我想到了这样的类型 data Block a Binary binOp a gt a gt a opName String i
  • Hibernate 抓取条件被忽略

    我有一些与 LoginSession 类具有一对多关系的 User 类 我的 User 类中有一个 LoginSession 集合 Entity name T User public class User OneToMany fetch F