当前位置: 首页 > 面试题库 >

即使FetchMode = Join,也可以发出select语句

胥康安
2023-03-14
问题内容

我有一个映射到国家/地区实体的userAccount实体。UserAccount类中的国家/地区映射是这样的

@ManyToOne(fetch=FetchType.EAGER)
@Fetch(FetchMode.JOIN)
@JoinColumn(name="f_country_id", nullable=true, insertable=false, updatable=false)
private Country country;

即使将fetchmode定义为Join,hibernate也会触发单独的SQL Select来提取国家/地区。


问题答案:

删除fetch=FetchType.EAGER。渴望获取将触发级联选择语句。



 类似资料:
  • 使用QueryDSLHibernate的功能: 问题: 是否可以为QueryDSL查询设置全局FetchMode。在Hibernate中,您可以用@fetch(FetchMode.join)指定这一点,但不幸的是,QueryDSL忽略了这一点。 因此,我的目标是用QueryDSL加载1000个客户,并且只运行2个查询(count+select)。

  • 问题内容: 我试图弄清楚如何在MySQL中优化一个非常慢的查询(我没有设计这个): 比较一下: 说明语句对我没有帮助: 好的,它仍然认为它需要大约400万个条目才能计数,但是我可以计算文件中的行数比这还要快!我不明白为什么MySQL要花这么长时间。 这是表的定义: 版: 有什么明显的我想念的东西吗?(是的,我已经尝试过“ SELECT COUNT(change_event_id)”,但是没有性能差

  • 问题内容: 是否可以在每次执行循环时回显?例如: 我不想看到循环结束时打印所有内容,而是希望它每次都打印每个结果。 问题答案: 最终解决方案 这就是我发现的: Flush在Apache的mod_gzip或Nginx的gzip下不起作用,因为从逻辑上讲,它正在对内容进行gzip处理,并且这样做必须缓冲内容才能对其进行gzip处理。任何类型的Web服务器gzip压缩都会影响此。简而言之,在服务器端,我

  • 问题内容: 我正在研究别人的PHP代码,并且一遍又一遍地看到这种模式: (伪代码) 如果其他表中没有相关行,则代码需要分支,但是通过在单个SELECT语句中执行LEFT JOIN不能做到更好吗?我是否缺少一些性能优势?可移植性问题?还是我只是在挑剔? 问题答案: 没有足够的信息来真正回答问题。我曾在一些应用程序上工作过,这些应用程序出于一个原因减少查询数量而出于另一个原因增加查询数量 都 提高了性

  • 我已经为工作中的应用程序创建了一个flyway项目。事实证明,在我准备好flyway设置进行测试之前,其中一个开发人员已经在测试中执行了一些SQL语句。 我的sql脚本有几个语句: 应该在语句#2上删除的列已经在我们的TEST实例上手动删除。它还没有被删除在我们的PROD实例上,我想通过迁移而不是手动进行。 显然,如果不先在测试中进行测试,我不会在PROD上运行迁移(有比这三个查询多得多的东西)。

  • 问题内容: 每当我从表Y获得任何记录时,我都试图在表X上运行一条语句,无论如何,我只能使用MySQL来完成该操作吗? 像触发器一样? 问题答案: 简短的回答是第触发器触发与,或。 可能的解决方案。相当罕见的情况: 首先,在表X上编写一些执行所需操作的存储过程。 然后,限制所有用户仅使用这些存储过程,并且不允许他们直接在表X上使用。 然后,更改存储过程以也调用执行所需操作(或其他操作)的存储过程。