问题标签 [fetching-strategy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
290 浏览

angularjs - 处理许多不同类型的角色和数据检索

请注意,我在后端使用 Laravel。假设您在任务管理系统中有 10 个不同的用户级别。所有这些用户级别对任务本身以及每个任务的实际属性都有不同的访问权限。例如,超级管理员可能可以查看所有任务,而经理也可以。但是经理只能看到这些任务的特定属性子集。另一方面,常客只会看到他们自己的任务,以及不同的属性子集。

你会使用什么样的设计模式或方法来处理这样的事情?每个用户级别都不同,我试图避免必须在任何地方添加 switch 语句。对于简单的事情,完全没问题。但是当它无处不在时,它似乎就像一种代码气味。

这基本上就是我试图找到一个好的解决方案。还有其他一些事情,我将数组返回到视图,但根据用户级别,数组将填充不同的信息集。我试图限制发送的数据,即使它没有显示,因为我在前面使用 Angular。因此,检查该数据的响应非常简单。

0 投票
0 回答
371 浏览

c# - 如何使用 NHibernate 急切获取多级对象

我有以下实体:

以及它们的映射:

我想使用 NHibernate 4 获取 Eager 所有级别当我尝试通过 ID 获取单个父级时,例如:

我得到“不能同时取多个包”异常

0 投票
1 回答
49 浏览

c# - Session.Get 即使在lazy=false 时也会加载 N+1

我有这样的实体:

它们都不是延迟加载的。

当我这样做时,session.Get<User>()我会看到这样的查询:

我试图将它们全部预加载到会话缓存中:

有查询

但是 NHibernate 忽略了它们都已经加载到会话缓存中并生成相同的 N+1 查询的事实!如何解决这个问题?


更新:预加载

session.Get<User>删除 N+1 但在我想要避免的情况下第二次使 NHibernate 加载字符!

0 投票
1 回答
244 浏览

ios - 获取一批 iOS 图片

我想获取位于 iOS 设备上的固定批次的图片。我正在使用新的Photos Framework,我已经找到了这个解决方法:

它工作正常,但我首先获取所有照片,fetchAssetsWithMediaType然后选择结果的一个子集供我的应用程序加载,这似乎很重......

我想知道是否有一种方法可以直接批量获取照片,而不是全部获取然后迭代。此外,如果我可以保留最后一批获取的索引,以知道我将在哪里获取下一批,那将是完美的。

谢谢你的帮助!

0 投票
1 回答
225 浏览

javascript - 获取总类别树(所有类别及其子类别的列表)与根据需要获取每个分支?

我不确定我的术语是否完全正确,但我的问题围绕着显示类别、子类别和子子类别列表的目标。

类别、子类别和子子类别的完整数量约为 100(每个都有唯一的名称)。这个完整的类别树的任何一个分支中的最高节点数约为 10。我需要显示这些分支中的任何一个中的每个节点的名称以及一张图像。

在我正在开发的 UI 类型中,这些不同的列表永远不会同时出现

例如,当您category从 列表中单击 a 时categories,类别列表消失,然后您应该会看到该类别的列表sub-categories。当您单击 asub-category时,子类别列表消失,然后您会看到sub-sub-categories属于最近单击的列表,sub-category依此类推。

知道了这一点,我的问题是:

对基本上可以是 JSON 对象数组的“类别树”进行一次初始提取是否有任何缺点,每个对象都包含每个类别的名称和子类别等等?(只需保留此类别树数据即可呈现我需要的任何列表)

或者

我是否应该仅对初始类别进行初始提取,然后在他们单击类别后再次提取子类别列表等?(仅在需要时获取我需要的内容)

0 投票
1 回答
1398 浏览

java - 禁用 Hibernate 的递归获取

当前堆栈:

  • 春季启动 1.5.1
  • Spring Data JPA 1.11.0
  • 休眠核心 5.2.6

假设我们有以下@Entity结构

当我查询所有/特定Root对象时,Hibernate 仅从相应的表中选择,结果对象的childrenSet 是null一个 Hibernate 代理 - 它应该是。

当我调用getChildren()Hibernate 正确初始化集合但也(无根据地)获取每个Child对象的grandchildrenSet。

有人可以准确解释为什么会发生这种递归提取,有没有办法禁用它?


我做了更多的挖掘,这就是我想出的:它似乎与 Hibernate 映射的方式有关,@OneToMany具体取决于目标集合是 aList还是Set.

如果集合是Sets

然而,随着Lists


我是一个可以证明的白痴。

我正在使用 Lombok 为我的POJO生成 getter/setter 等,其注释的默认实现会@EqualsAndHashCode生成这两种方法,同时考虑到每个字段......包括子集合。

0 投票
4 回答
2687 浏览

java - 跳过孩子到父母的获取 - JPA

我面临一个问题,即数据被递归提取。我想避免孩子获取父数据。这导致了递归问题。我已经提到了下面的代码

Pojo结构

像这样获取数据

它正在获取这样的数据:

我不需要我只想要这样的数据:

0 投票
3 回答
15322 浏览

graphql - 什么是过度获取或不足获取?

我有时一直在玩 graphQL。在 graphQL 之前,我们通常使用 REST API。许多开发人员表示,graphQL 修复了 REST 的一些问题。(例如过度获取和获取不足)。我对这个术语感到困惑。

有人可以解释在这种情况下过度获取和获取不足吗?

谢谢,

0 投票
1 回答
18 浏览

php - 如何在结果之间获取最大值?

如何在结果之间获取最大值?

例如,我想从结果“1-3”中获取最大“C”值。

0 投票
0 回答
266 浏览

python - Python - Flask API 服务 - 循环访问 API 数据源,缓存,并在调用时提供快速反馈

我正在尝试开发一种 API 服务,该服务在从不同来源连续收集数据后,详细说明该数据,并保持该信息不被其他服务请求。

我正在使用 Flask,它在单个线程之上工作。

我的问题是关于访问缓存数据的慢行。收集过程效果很好,但有时当我要求服务器提供数据时它很忙,因为与此同时它正在从源中获取数据。

我应该如何设置线程以避免这种情况?

下面我通过一些简化的函数和类来解释我所做的事情。

抓取服务

缓存服务

线程

主要的

烧瓶视图