当前位置: 首页 > 知识库问答 >
问题:

在嵌套的一对多关系表上解决N1Hibernate问题

须景胜
2023-03-14

我有一个组织表,部门表和员工表。一个组织有许多部门,一个部门有许多员工。在执行 findByOrganizationId(组织的 PK)时,我看到 Employee 表也被查询 n 次,其中 n 是组织的部门数。

如何避免在执行相同操作时获取员工数据?我在这里看到了一个N 1问题。但不确定如何在嵌套的一对多映射中避免它。

提取类型设置为“延迟”。

@OneToMany(mappedBy = "department", orphanRemoval = true, cascade = CascadeType.ALL, fetch = FetchType.LAZY)
@Fetch(FetchMode.JOIN)
private List<Employee> employee;

共有1个答案

方飞翼
2023-03-14

原因是< code>@Fetch(FetchMode。JOIN)覆盖< code>fetch = FetchType。懒惰,因为它变成了< code>fetch = FetchType。渴望。尝试移除提取注释,它将不会查询N 1关系。

 类似资料:
  • 问题内容: 将其发布在这里是因为我在这里没有太大的兴趣:http : //www.java- forums.org/jpa/96175-openjpa-one-many-within-one-many-merge- problems.html 试图找出这是OpenJPA的问题还是我做错了… 尝试使用OpenJPA更新包含与另一个实体具有一对多关系的实体时,遇到一个问题。这是我正在谈论的简单示例:

  • 问题内容: 这是情况:- 我有一个名为“用户”的表。由于所需的大多数数据是相同的,因此它包含学生和导师的用户数据。 完成该系统后,现在我被告知客户希望能够将学生分配给导师。 是否可以通过链接表在一个表内创建一对多关系的合法/干净方法? 我已经尝试过考虑这一点,但是我想出的任何解决方案似乎都是混乱的。 我将不胜感激。 谢谢 菲尔 问题答案: 您是否尝试过以下方法? 例如,创建一个新表(如果需要,请选

  • 用户表结构:用户 id、名称、用户名、密码、创建时间、更新时间 文章表结构:文章 id、标题、内容、创建时间、更新时间 关系表:文章\用户 id、文章id、用户id处于活动状态、创建时间、更新时间 标签 id、名称、用户id、创建时间、更新时间 透视表项目用户与标记的关系。表:文章\用户\标签 标签号,物品号,用户号 我想连接这些表,以便可以像这样或类似的格式访问 并且应该能够创建/更新smth,

  • 大家好,我正在用R2dbc(非阻塞)编写RESTAPI项目,但问题是表关系 任务模型 到期模型 任务仓库//这个反应性的污物仓库 任务管理器//这是业务层 任务服务//这是服务层 任务控制器 任务响应 我的Rest Api响应任务 问题一对一关系响应空有什么问题???请帮帮我谢谢 错误跟踪

  • 问题内容: 我在laravel中很难建立起非常嵌套的关系。 所需的行为如下, 我通过ID选择一个事件,我想查看哪些人已订阅该事件。 现在的问题是事件和人员之间有一些表格。 这是有效的查询! 事件模型 城市模型 公司模式 人物模型 我尝试过的 和 还有很多其他可能性,我真的很坚持。在laravel中实现这种嵌套关系链接如此困难吗? 谢谢! 问题答案: 如果只想从表中选择某些字段,请使用以下命令: