Hibernate 左外连接

2024-01-11

我有这样的 Hibernate 服务方法:"SELECT sc FROM SecurityContact sc WHERE sc.securityId=:securityId2"。 securityId2由用户传入。每个 SecurityContact 都与联系人具有多对一关系,因此 Hibernate 在该查询运行时会自动调用联接。但是,Hibernate 始终运行的联接是内部联接,对于我的目的而言,它无法正常工作。有没有办法强制 Hibernate 在内部生成左外连接?以下是 SecurityContact 类的代码:

/**
 * The persistent class for the SecurityContact database table.
 * 
 */
@Entity
@FXClass(kind=FXClassKind.REMOTE)
public class SecurityContact implements Serializable {
    private static final long serialVersionUID = 1L;
    @Transient private String uid;
    @FXIgnore
    public String getUid() {
        if (uid == null) {
            uid = "" + securityContactId;
        }
        return uid;
    }

    public void setUid(String uid) {
        this.uid = uid;
    }

    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    @Column(name="securityContact_id")
    private Long securityContactId;

    @Column(name="security_id")
    private String securityId;

    @Column(name="create_date")
    private String createDate;

    @Column(name="create_user")
    private String createUser;

    @Column(name="modify_date")
    private String modifyDate;

    @Column(name="modify_user")
    private String modifyUser;

    //bi-directional many-to-one association to AgentContact

    @ManyToOne
    @JoinColumn(name="agent_id", referencedColumnName="contact_id")
    private AgentContact agentContact;

    //bi-directional many-to-one association to AuditContact
    @ManyToOne
    @JoinColumn(name="audit_id", referencedColumnName="contact_id")
    private AgentContact auditContact;

    public SecurityContact() {
    }
    @FXKeyColumn
    public Long getSecurityContactId() {
        return this.securityContactId;
    }

    public void setSecurityContactId(Long securityContactId) {
        this.securityContactId = securityContactId;
    }

    public String getSecurityId() {
        return this.securityId;
    }

    public void setSecurityId(String securityId) {
        this.securityId = securityId;
    }

    public String getCreateDate() {
        return this.createDate;
    }

    public void setCreateDate(String createDate) {
        this.createDate = createDate;
    }

    public String getCreateUser() {
        return this.createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    public String getModifyDate() {
        return this.modifyDate;
    }

    public void setModifyDate(String modifyDate) {
        this.modifyDate = modifyDate;
    }

    public String getModifyUser() {
        return this.modifyUser;
    }

    public void setModifyUser(String modifyUser) {
        this.modifyUser = modifyUser;
    }
    @FXManyToOne(parent="parent", property="contactId")
    public AgentContact getAgentContact() {
        return this.agentContact;
    }

    public void setAgentContact(AgentContact agentContact) {
        this.agentContact = agentContact;
    }
    @FXManyToOne(parent="parent", property="contactId")
    public AgentContact getAuditContact() {
        return this.auditContact;
    }

    public void setAuditContact(AgentContact auditContact) {
        this.auditContact = auditContact;
    }

} 

Try fetch=select关于多对一匹配

另请参阅http://community.jboss.org/wiki/AShortPrimerOnFetchingStrategies http://community.jboss.org/wiki/AShortPrimerOnFetchingStrategies and http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html http://docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html

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

Hibernate 左外连接 的相关文章

  • NoInitialContextException:heroku 战争部署

    我一直在开发一个 J2EE 项目 并且在其中使用连接池 也通过部署在 heroku 上的数据库进行访问 我使用以下代码来设置 Connection 对象 Context initContext new InitialContext Cont
  • 使用 WebDriver 单击新打开的选项卡中的链接

    有人可以在这种情况下帮助我吗 场景是 有一个网页 我仅在新选项卡中打开所有指定的链接 现在我尝试单击新打开的选项卡中的任何一个链接 在下面尝试过 但它仅单击主 第一个选项卡中的一个链接 而不是在新选项卡中 new Actions drive
  • 如何使用 JAVA 代码以编程方式捕获线程转储?

    我想通过 java 代码生成线程转储 我尝试使用 ThreadMXBean 为此 但我没有以正确的格式获得线程转储 因为我们正在使用jstack命令 请任何人提供一些帮助 他们是否有其他方式获取线程转储 使用任何其他 API 我想要的线程转
  • 删除优先级队列的尾部元素

    如何删除优先级队列的尾部元素 我正在尝试使用优先级队列实现波束搜索 一旦优先级队列已满 我想删除最后一个元素 优先级最低的元素 Thanks 没有简单的方法 将元素从原始元素复制到新元素 最后一个除外 PriorityQueue remov
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • FileNotFoundException - Struts2 文件上传

    Strange FileNotFoundException使用Struts2上传文件时 这是 JSP 的一部分
  • 如何使用正则表达式验证 1-99 范围?

    我需要验证一些用户输入 以确保输入的数字在 1 99 范围内 含 这些必须是整数 Integer 值 允许前面加 0 但可选 有效值 1 01 10 99 09 无效值 0 007 100 10 5 010 到目前为止 我已经制定了以下正则
  • 虽然我的类已加载,但 Class.forName 抛出 ClassNotFoundException

    代码如下 它的作用是加载我放在主目录中的 jar 文件中的所有类 import java io File import java util jar JarFile import java util jar JarEntry import j
  • 当 minifyEnabled 为 true 时 Android 应用程序崩溃

    我正在使用多模块应用程序 并且该应用程序崩溃时minifyEnabled true in the installed模块的build gradle 以下是从游戏控制台检索到的反混淆堆栈跟踪 FATAL EXCEPTION Controlle
  • 如何通过 Android 按钮单击运行单独的应用程序

    我尝试在 Android 应用程序中添加两个按钮 以从单独的两个应用程序订单系统和库存系统中选择一个应用程序 如图所示 我已将这两个应用程序实现为两个单独的 Android 项目 当我尝试运行此应用程序时 它会出现直到正确选择窗口 但是当按
  • 在 Clojure 中解压缩 zlib 流

    我有一个二进制文件 其内容由zlib compress在Python上 有没有一种简单的方法可以在Clojure中打开和解压缩它 import zlib import json with open data json zlib wb as
  • JAVA中遍历JSON数据

    我是 JSON 新手 我使用 HTTPUrlConnections 并在 JAVA 程序中获得一些响应 响应数据将类似于 data id 1 userId 1 name ABC modified 2014 12 04 created 201
  • IntelliJ 组织导入

    IntelliJ 是否具有类似于 Eclipse 中的组织导入功能 我拥有的是一个 Java 文件 其中多个类缺少导入 例子 package com test public class Foo public Map map public J
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • 如何在Java中对对象数组进行字段级别排序以进行等级比较?

    In Java Class StudentProgress String Name String Grade CTOR goes here main class main method StudentProgress arrayofObje
  • Hadoop NoSuchMethodError apache.commons.cli

    我在用着hadoop 2 7 2我用 IntelliJ 做了一个 MapReduce 工作 在我的工作中 我正在使用apache commons cli 1 3 1我把库放在罐子里 当我在 Hadoop 集群上使用 MapReduceJob
  • 替换文件中的字符串

    我正在寻找一种方法来替换文件中的字符串而不将整个文件读入内存 通常我会使用 Reader 和 Writer 即如下所示 public static void replace String oldstring String newstring
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件
  • ECDH使用Android KeyStore生成私钥

    我正在尝试使用 Android KeyStore Provider 生成的私有文件在 Android 中实现 ECDH public byte ecdh PublicKey otherPubKey throws Exception try
  • HttpClient请求设置属性问题

    我使用这个 HttpClient 库玩了一段时间 几周 我想以某种方式将属性设置为请求 不是参数而是属性 在我的 servlet 中 我想使用 Integer inte Integer request getAttribute obj 我不

随机推荐

  • MonoTouch:从 ALAssetsLibrary.AssetForUrl 中获取图像

    在 MonoTouch 中 我正在将相机中的图像放入相册中 ALAssetsLibrary library new ALAssetsLibrary library WriteImageToSavedPhotosAlbum photo CGI
  • 使用 ORM 时跟踪数据库字段的更改

    我想跟踪对特定表中每一列所做的更改 我考虑将更改存储在另一个包含以下列的表中 id field and data where field 字符串值 是目标表中已更改的列data是该字段的新值 在返回数据集时 我想到从目标表中检索原始数据 从
  • Laravel 阻止用户访问其他用户资源 **url

    我在 url 中传递特定资源 例如 https www example com https www example com 公司ID 在控制器中我可以通过以下方式访问资源 public function index companyID Co
  • 在flutter中刷新令牌

    我正在开发一个金融项目 Flutter 其中从后端获取身份验证令牌经常过期 我怎样才能保留token只要过期用户正在使用该应用程序 我建议您可以以简单的方式处理这些事情 例如在获取数据时 如果令牌过期 您会收到 401 未经授权的异常 您可
  • 修改 iframe.src 而不进入历史对象

    我的网页中有一个 iframe 我通过 javascript 修改 src 属性 如下所示 document getElementById myiframe src http vimeo com videoid1 document getE
  • Installshield 无提示卸载在命令行中不起作用

    我们有一个 2006 年的旧应用程序 我们想使用组策略在命令行卸载 但我无法进行静默卸载 这有效 当然我需要点击下一步来卸载 C App Setup exe uninst 但事实并非如此 我看到沙漏了几秒钟 但该应用程序并未卸载 C App
  • 是否可以将 JFrame 置于前面但不获得焦点?

    我正在编写一个 Java 应用程序 Swing GUI 它会定期弹出 JFrame 是否有可能以某种方式将窗口置于前面 foo setAlwaysOnTop true 会更好 但是without有焦点吗 有些人在打字时时不时地将眼睛从屏幕上
  • 可扩展的非矩形 CSS 按钮?

    在网上进行了大量研究后 我发现了很多使用 CSS 设计提交按钮样式的建议和示例 但它们都生成了矩形按钮 我想制作一个非矩形按钮 它会自动调整自身大小以适合按钮图例 具体来说 我希望按钮看起来像这样 加上或减去圆角 有什么建议么 完全可以使用
  • 为什么我会收到“由于保护级别而无法访问”错误?

    我收到此错误 由于其保护级别 CTest A A 无法访问 编译此代码时 public class A private A public class B A public void SayHello Console WriteLine He
  • 如何子类化 QSpinBox 以便它可以将 int64 值作为最大值和最小值

    我需要实施一个QSpinBox控制应该能够处理int64值作为其最小值和最大值 目前的实现仅支持int32价值观 一天结束我的QSpinBox应该接受之间的任何值 9223372036854775807 和 9223372036854775
  • GSON disableHtmlEscaping - 为什么 GSON 默认情况下会转义 HTML?

    我注意到 GSON HTML 转义 lt and gt 字符 这可以通过使用禁用disableHtmlEscaping 构建器配置方法 但我的问题是 为什么 GSON 默认情况下会进行 HTML 转义 不进行 HTML 转义有哪些风险 Th
  • R 中的时间序列交叉验证:使用 csv() 和 tslm()-模型

    我目前正在尝试使用时间序列交叉验证来评估 tslm 模型 我想使用固定模型 不进行参数重新估计 来查看去年评估期的 1 到 3 步预测 我很难得到tsCV and tslm从预测库中可以很好地协同工作 我缺少什么 library forec
  • 如何在 robocopy 中使用 /mir /xd 开关时排除目标中的子目录

    正在运行一个脚本 它将一堆文件夹从一个卷镜像到另一个卷 问题是 现在目标文件夹中的子目录不属于原始镜像脚本的一部分 它们是独立的子目录 我不希望在镜像启动后清除它们 有没有办法让我使用 xd在 robocopy 中切换 我可以排除目标子目录
  • 如何用 Razor Pages 路由替换 MVC HomeController/Index 重定向?

    我正在从 ASP MVC Classic 迁移到 ASP Razor Pages 只剩下一个控制器需要 迁移 HomeController public class HomeController Controller UserManager
  • 日期不能是将来的 SQL

    我正在尝试添加一种约束 以防止用户将来输入日期 我需要它在用户尝试这样做时引发错误 这是我到目前为止所拥有的 Create Procedure CustomerBooks month int year int AS BEGIN SELECT
  • 在python中将文件夹中的文件复制到一个目录

    我有一个包含一些文件的文件夹 我想将其复制到一个目录 该文件夹也有一些我不想复制的文件 我知道有 os chdir 命令可以将我移动到该目录 但是 我不确定如何将我需要的文件复制到此目录中 任何帮助将不胜感激 UPDATE 这就是我现在所拥
  • 使用wiremock时连接被拒绝

    我在 Junit 中有这段代码 我明确地将端口设置为 8888 when clientUtils getLinkUrl eq HOSTELS MICROSERVICE name eq HOSTELS MICROSERVICE name an
  • 循环缓冲区的线程安全实现

    boost 库中的 Circular buffer 不是线程安全的 所以我将 boost circular buffer 对象包装在一个类中 如下所示 我认为 线程之间的互斥是通过使用条件变量 互斥锁和锁获取 释放来实现的 这个实现线程安全
  • 如何安装相关的 C++ 库以避免链接器命令失败?

    我最近尝试编译一个C 程序 但发现它给出了这个错误 Undefined symbols for architecture x86 64 std 1 locale use facet std 1 locale id const referen
  • Hibernate 左外连接

    我有这样的 Hibernate 服务方法 SELECT sc FROM SecurityContact sc WHERE sc securityId securityId2 securityId2由用户传入 每个 SecurityConta