问题标签 [eager]
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.
java - Eagerly load all the related objects
I have two entities:
Book
:
and Library
:
What I want to do is eagerly fetch all the books for a given queried library:
But it gives me null
. How do I get list of all the linked books? I have searched and tried many solutions from S.O. but none works.
P.S. - I can assure you that there is linked data present in the tables.
hibernate - EAGER 和分页:Spring MVC + JPA Repository + Hibernate
我有一个实体 A@OneToMany
与实体 B 有关系(fetch mode = EAGER)
。实体 A在 LAZY 中也与其他实体有其他关系,但对于这个问题并不重要。
实体 B@ManyToOne
也与实体 A有关系(fech 模式 = EAGER)。实体 B也与其他实体有其他关系LAZY
,但对于这个问题并不重要。
后来,我有一个实现 JpaRepository 类的接口,在该类中我使用 Page 和 Pageable 元素定义了一个@Query
与其他实体之间的一些内部连接,以获得具有计算分数的 10 个项目的实体 A的集合。
这里这个过程失败了。为什么?
我在数据库中的实体 A 表有 +1000 个具有条件的寄存器@query
。但在 Hibernate 或 JPA 向我返回 10 个实体 A 之前,在内部执行 1000 多个选择以获取实体 B 数据(EAGER 真实性)和 explote。
为什么不获取 10 个实体 A 并执行 10 个“选择”以获得 10 个实体 B?
独特的解决方案是将我的关系从 EAGER 更改为 LAZY?不能与 EAGER 一起工作?
为什么会这样?任何解决方案?
编辑: 声明:+1000 entityA +1000 entityB(在我的示例中,一个 entityA 只有一个 entityB,但 entityA 可以有多个 entityB)
编辑 2
这是我的跟踪错误的片段,重复并重复相同:
在 java.util.HashMap.put(Unknown Source) at java.util.HashSet.add(Unknown Source) at java.util.AbstractCollection.addAll(Unknown Source) at org.hibernate.collection.internal.PersistentSet.endRead(PersistentSet .java:327) 在 org.hibernate.engine.loading.internal.CollectionLoadContext.endLoadingCollections(CollectionLoadContext.java:221) 在 org.hibernate.engine.loading.internal.CollectionLoadContext.endLoadingCollection(CollectionLoadContext.java:234) 在 org. hibernate.engine.loading.internal.CollectionLoadContext.endLoadingCollections(CollectionLoadContext.java:194) 在 org.hibernate.loader.plan.exec.process.internal.CollectionReferenceInitializerImpl.endLoading(CollectionReferenceInitializerImpl.java:154) 在 org.hibernate.loader。 plan.exec.process.internal.AbstractRowReader。finishLoadingCollections(AbstractRowReader.java:249) 在 org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.finishUp(AbstractRowReader.java:212) 在 org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl。 extractResults(ResultSetProcessorImpl.java:123) at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:122) at org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader. java:86) 在 org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3956) 在 org.hibernate.event 的 org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.load(AbstractLoadPlanBasedEntityLoader.java:167) .internal.DefaultLoadEventListener。loadFromDatasource(DefaultLoadEventListener.java:508) at org.hibernate.event.internal.DefaultLoadEventListener.doLoad(DefaultLoadEventListener.java:478) at org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:219) at org.hibernate .event.internal.DefaultLoadEventListener.doOnLoad(DefaultLoadEventListener.java:116) 在 org.hibernate.event.internal.DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:89) 在 org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1129) ) 在 org.hibernate.internal.SessionImpl.immediateLoad(SessionImpl.java:997) 在 org.hibernate.proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:157) 在 org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java: 266)在 org.hibernate.proxy。pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:68) 在 com.treebuk.model.Fragment_$$_jvsta55_10.hashCode(Fragment_$$_jvsta55_10.java) 在 com.treebuk.model.Fragment.hashCode(Fragment.java: 210) 在 sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.hibernate.proxy.pojo.javassist .JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:79) 在 com.treebuk.model.Fragment_$$_jvsta55_10.hashCode(Fragment_$$_jvsta55_10.java) 在 com.treebuk.model.TextFragment.hashCode(TextFragment.java:340) 在java.util.HashMap.hash(Unknown Source) at java.util.HashMap.put(Unknown Source) at java.util.HashSet.add(Unknown Source) at java.util。AbstractCollection.addAll(Unknown Source) at org.hibernate.collection.internal.PersistentSet.endRead(PersistentSet.java:327) at org.hibernate.engine.loading.internal.CollectionLoadContext.endLoadingCollection(CollectionLoadContext.java:234) at org. hibernate.engine.loading.internal.CollectionLoadContext.endLoadingCollections(CollectionLoadContext.java:221) 在 org.hibernate.engine.loading.internal.CollectionLoadContext.endLoadingCollections(CollectionLoadContext.java:194) 在 org.hibernate.loader.plan.exec。 process.internal.CollectionReferenceInitializerImpl.endLoading(CollectionReferenceInitializerImpl.java:154) 在 org.hibernate.loader.plan.exec.process.internal.AbstractRowReader.finishLoadingCollections(AbstractRowReader.java:249) 在 org.hibernate.loader.plan.exec。 process.internal.AbstractRowReader。finishUp(AbstractRowReader.java:212) 在 org.hibernate.loader.plan.exec.process.internal.ResultSetProcessorImpl.extractResults(ResultSetProcessorImpl.java:123) 在 org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad( AbstractLoadPlanBasedLoader.java:122) 在 org.hibernate.loader.plan.exec.internal.AbstractLoadPlanBasedLoader.executeLoad(AbstractLoadPlanBasedLoader.java:86) 在 org.hibernate.loader.entity.plan.AbstractLoadPlanBasedEntityLoader.load(AbstractLoadPlanBasedEntityLoader.java:167)在 org.hibernate.persister.entity.AbstractEntityPersister.load(AbstractEntityPersister.java:3956) 在 org.hibernate.event.internal.DefaultLoadEventListener.loadFromDatasource(DefaultLoadEventListener.java:508) 在 org.hibernate.event.internal.DefaultLoadEventListener.doLoad (默认加载事件监听器。java:478) 在 org.hibernate.event.internal.DefaultLoadEventListener.load(DefaultLoadEventListener.java:219) 在 org.hibernate.event.internal.DefaultLoadEventListener.doOnLoad(DefaultLoadEventListener.java:116) 在 org.hibernate.event.internal .DefaultLoadEventListener.onLoad(DefaultLoadEventListener.java:89) 在 org.hibernate.internal.SessionImpl.fireLoad(SessionImpl.java:1129) 在 org.hibernate.internal.SessionImpl.immediateLoad(SessionImpl.java:997) 在 org.hibernate。 proxy.AbstractLazyInitializer.initialize(AbstractLazyInitializer.java:157) at org.hibernate.proxy.AbstractLazyInitializer.getImplementation(AbstractLazyInitializer.java:266) at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:在 com.treebuk.model.Fragment_$$_jvsta55_10。com.treebuk.model.Fragment.hashCode(Fragment.java:210) 的 hashCode(Fragment_$$_jvsta55_10.java) sun.reflect.GeneratedMethodAccessor111.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)在 java.lang.reflect.Method.invoke(Unknown Source) 在 org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:79) 在 com.treebuk.model.Fragment_$$_jvsta55_10.hashCode(Fragment_ $$_jvsta55_10.java) at com.treebuk.model.TextFragment.hashCode(TextFragment.java:340) at java.util.HashMap.hash(Unknown Source)Method.invoke(Unknown Source) at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:79) at com.treebuk.model.Fragment_$$_jvsta55_10.hashCode(Fragment_$$_jvsta55_10.java) at com.treebuk.model.TextFragment.hashCode(TextFragment.java:340) at java.util.HashMap.hash(Unknown Source)Method.invoke(Unknown Source) at org.hibernate.proxy.pojo.javassist.JavassistLazyInitializer.invoke(JavassistLazyInitializer.java:79) at com.treebuk.model.Fragment_$$_jvsta55_10.hashCode(Fragment_$$_jvsta55_10.java) at com.treebuk.model.TextFragment.hashCode(TextFragment.java:340) at java.util.HashMap.hash(Unknown Source)
java - Optional 的 map() 和 filter() 操作的类型
map()
和filter()
ofOptional
是懒惰的吗Stream
?
我如何确认他们的类型?
php - 仅在存在关系结果时获取对象[laravel]
仅当关系查询计数大于 0 时,我才有获取数据的问题。
这是我的客户关系模型
这是我的合同模型
最后,我只需要在某个日期与他们签约的客户
但我有所有的客户。它看起来像这样:
在此示例中,我不需要客户 1,2 和 5。我如何通过急切加载和最后的关系对象来做到这一点。
发生这种情况,我不需要屏幕截图上带有 X 的客户 - 我的意思是,我不需要来自哪里查询的 0 个合同的客户
-- 来自 dd() 的对象--
此查询结束 2 个客户,第一个有 2 个合同,第二个有 0 个合同
python - Tensorflow v1.4:Eager 模式不支持 Layer.input
我知道 Eager 模式是夜间构建的一个新的 alpha 功能,它还不完美,但我不知道这个问题是否有任何 tf.keras 解决方法。
块上的错误Layer.input not supported in Eager mode.
触发
我对 keras 或 keras tensorflow API 一无所知,我想知道是否有办法避免Layer.input
使用 keras 技术以保持在 Eager 模式下。按照 tf.Eager 文档中的教程,我已经确认它model = tf.layers.Dense(1)
有效,但我不知道如何添加另一层。
很感谢任何形式的帮助。
编辑 从 tensorflow v1.10 开始,在急切模式下支持 keras。
java - 在一个表上休眠两个 ManyToOne 关系,第一个获取 Eager,第二个 LAZY 加载
我有以下实体,item
其中最多可以有两个类别,主要和次要。这两个类别ManyToOne
都category
使用JoinColumnsOrFormulas
. 第一个按预期获取EAGER
,但第二个不会出现在 SQL 语句中并被延迟加载。这种延迟加载会导致经典的 n+1 问题。
这是我的项目实体,其中包含应该加入的两个类别实体:
这是类别实体:
结果查询仅包含主要类别:
因此,次要类别变得懒惰:
为什么 Hibernate 加入次要类别懒惰,注解似乎是一样的。
我使用的休眠版本是 5.0.10.Final。
这是基本实体的样子:
这是一个示例“查询”,正如我所说我使用的是休眠标准和 HQL,这两种方法都会出现问题。
jsf - 如何在 PrimeFaces 中使用 OmniFaces @Eager 注解?
PrimeFaces 和 OmniFaces 可以在 JSF 项目中一起使用。我的项目使用 PrimeFaces 6.1 并且工作正常。然而,只需声明 OmniFaces 的 Maven 依赖项
不会导致@Eager
注入应用程序范围 bean 的注释@Named
产生任何影响。
CombinedResourceHandler的 Afaik 指令不能解决这个问题,因为它是一个注入问题。
服务器日志中的典型部署如下所示:
Moneta 中的异常一直存在(我认为这是一个错误或不直观的配置错误反馈)并且到目前为止没有造成任何麻烦。
我正在使用 OmniFaces 2.6.7 和 Payara 4.1.2.174。
laravel - Laravel 5.5 对查询进行分页 - 急切加载
我有一个问题,不知道如何解决它。我在网上搜索过,但仍然没有得到确切的答案。我要做的是对查询表或下面的查询进行分页。一切似乎都有效(至少我每页收到 20 个查询,但是我不知道如何显示链接()?
我将查询保存在 $thecusts 集合中并将其传递给视图。表和关系:员工-经销商(多对多)经销商-客户(一对多)客户-查询(一对多)。
所以我需要为有很多经销商的员工分页x查询。
任何人都可以帮忙吗?
spring-boot - JPA 的问题。当 fetchin eager parent 时,它的所有懒惰的孩子也会被获取
我正在制作一个 spring-boot 项目,目前我面临延迟获取的问题。我有三个类,一个是通过 Eager(Incident) 获取其子级,两个是通过惰性 (FileContent,FileStorage) 获取子级。结构是:
每当我从 Incidet 获取所有文件内容和所有文件存储时,也会获取。这不应该发生,不应该获取 fileStorages。如果有人能告诉我为什么代码会有这样的行为并帮助我修复它,那就太好了。
这些是类:
这是 yml 属性文件