问题标签 [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.

0 投票
1 回答
285 浏览

grails - Grails Eager 获取空关联返回 null

我的域类如下

现在我正在尝试获取作者

现在,当该作者没有任何书籍时,即书籍关联为空 authorInstance 返回为 null

我不确定,但我认为这是因为lazyList(我使用lazyList 的原因是为了更容易的数据绑定)。

0 投票
1 回答
370 浏览

hibernate - 休眠:渴望获取/帮助我度过我的休眠噩梦

我正在尝试使用以下 HQL 语句返回对象列表:

以下错误让我发疯:

HTTP 状态 500 - 查询指定连接提取,但提取关联的所有者不在选择列表中

所以我在我的代码中尝试了没有“fetch”这个词。然后我的返回列表是空的。

应用程序就像涂鸦,数据库看起来像这样:

调查有一个列表调查日期调查
日期有一个响应列表
响应有一个属性用户

我的任务是:该方法有一个参数surveyId 并返回所有响应它的用户。所以我们要一直往下走Survey-->surveyDates-->responses-->user

我想这对你来说很容易,我是 SQL 的新手,甚至是 Hibernate 的新手!

0 投票
2 回答
1365 浏览

java - 使用 Hibernate 加载整个数据库

我在 Java 中使用 SQLite3 和 Hibernate。我可以以某种方式将整个数据库加载到内存中或从数据库中获取所有数据,以便我可以最快地访问映射对象吗?例如,如果我们有一个 Company 和 Employee 类,并且在 Company 中,我们将Employees 映射为 company.getEmployees()。我想从数据库中获取所有公司,稍后当我调用此方法时,我想立即获取员工。那么有没有办法预加载它们?此外,如果员工被映射到其他对象,我也可以预加载它们吗?总而言之,我想加载整个数据库并使用 ORM 来访问数据。谢谢!

0 投票
1 回答
995 浏览

laravel - 与 first()/all() 链接时,Laravel Eager 加载缺失的关系

使用 L3 可以正常工作:

这正是我所期望的。一组Site对象,所有服务关系都整齐地填充。

但是,如果相反,我只使用以下内容:

或者

站点对象的关系完全为空。

这对我来说就像一个错误,但我想做的事情有什么不对吗?目前要获得与first()代替使用相同的效果,get()我必须从返回的数组中提取第一个元素。

0 投票
1 回答
3488 浏览

arraylist - 如何将 ORMLite 与包含其他对象的 ArrayLists 的对象一起使用?

我有一个具有非常复杂数据类型的 Android java 项目,包括其他复杂数据类型的 ArrayLists。我正在尝试使用 ORMLite (4.42) 将我的数据存储在数据库中。

我在 ArrayLists 和 ForeignCollection 之间转换时遇到了重大问题,有人能做到这一点吗?

我不希望与数据库持续同步,而是有一个保存整个结构的 save 方法和一个恢复整个方法的 read 方法。从数据库中恢复对象后,该对象通过接口发送,接收者需要一个 ArrayLists 而不是 orm lite ForeignCollections。

我的方法如下。对于每个 ArrayList,我都有一个互补的 ForeignCollection。在将对象存储到数据库之前,将 ArrayList 的内容复制到 ForeignCollection,当读回时,反之亦然。

当我从数据库中读出一个数据结构时,我希望确保整个结构被恢复,因为稍后,该对象将被发送给不知道 orm lite 包的用户,因此我设置了 eager = true。

我的复杂数据类型如下所示:

问题

在将帐户存储到数据库之前,我尝试执行以下操作。我希望将 ArrayList 中的对象复制到 ForeignCollection 并使用 Account 对象更新数据库。对象 myAccount 与数据库中的对象具有相同的 id,因此我希望更新该对象。

没运气。addAll 方法确实将订单直接写入数据库,因此我最终得到了所有订单的重复项,因为“addAll”添加并且不更新任何现有记录。

所以我尝试首先从数据库中删除所有订单,但再次没有运气:

对象不会从数据库中删除。我在groups.google.com 上读到(作者 Philip Fu),这是 ormlite 的一个“已知”问题,急切的 ForeignCollection 不能很好地与 removeAll() 或 clear() 配合使用。

是否有一种我错过的模式允许我使用 ormlite 框架处理包含复杂类型的 ArrayLists 的对象?

0 投票
1 回答
388 浏览

jpa - JPA EAGER fetch 仅在服务器重新启动时才有效

大家晚上好,这是我在 Stack Overflow 上的第一篇文章。我最近才被介绍到 Java 6 EE,尤其是作为 JSF 2.1 框架的一部分的 JPA,我现在面临着一个奇怪的行为,我希望你能帮助我理解。在我们的项目(使用 NetBeans 7.2 开发)中,我们有几个一对多的关系,我们希望以与导航多对一相同的方式导航它们。事实是,相反,只有在重新启动应用程序服务器(Glassfish 3.1.2)之后,我们才能让它们按照我们的意愿工作,此外,这种行为只会持续到下一次部署;这意味着我们每次应用修改时都需要重新启动 Glassfish...这里有一些代码摘录可以帮助您了解我们的情况。

这表示我们的主要实体(Person),除其他外,它与 Email 和 Phone 具有一对多关系,与 AccountType 具有多对一关系

这些是电子邮件...

... 电话 ...

...和帐户类型

然后,我们设置了一个示例页面来测试 Person 中的三个字段是如何实际获取的。

这代表 xhtml 页面...

...这就是控制器

现在,我们得到的结果是我们所期望的,只有在我们重新启动应用程序服务器后立即访问该页面时。

如果我们修改任何东西(除了视图)并保存,在不可避免的部署之后,结果就会不同。

为什么会发生这种情况,我们该如何避免呢?

提前致谢。

股份公司

一些贡献者(我要感谢他们的快速回复)要求实现 PersonFacade。

如您所见,我尝试按照建议使用 FETCH JOIN,但查询得到的结果太多:它应该只获取一个代表 Alice 的 Person 实例,并在 personEmails 字段中包含两个 Email 实例,但我怀疑它得到了两个不同的Person 的实例,每个实例都附加了不同的 Email 实例。

原始查询如下:

再次感谢。

股份公司

0 投票
2 回答
324 浏览

nhibernate - NHibernate - 为什么这个集合没有初始化/急切地获取?

考虑到这一点:

其次是这个

为什么那个调试语句会让 NHibernate 返回并重新查询 Response 集合,它肯定是在第一个查询中初始化的?

0 投票
1 回答
2111 浏览

hibernate - Hibernate/JPA 无法进行急切加载

使用 Spring MVC、Hibernate 和 JPA。我试图从 Controller 加载一些 Collection 并遇到了 LazyLoading 异常。所以我想切换到 Egar 加载。

我有两个课程(Flightroute 和 Measurstations 属于多对多 Realtion)


但这似乎不起作用,当应用程序启动时我遇到以下异常

Mai 03, 2013 5:58:08 PM org.apache.catalina.core.StandardContext listenerStart 严重:向 org.springframework.web.context.ContextLoaderListener org.springframework.beans.factory.BeanCreationException 类的侦听器实例发送上下文初始化事件的异常:在 ServletContext 资源 [/WEB-INF/applicationContext.xml] 中创建名称为“entityManagerFactory”的 bean 时出错:调用 init 方法失败;嵌套异常是 javax.persistence.PersistenceException: [PersistenceUnit: atm] Unable to build EntityManagerFactory at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1488) at org.springframework.beans.factory.support。 AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:

我不明白,谁能帮助我,和/或解释为什么会这样?

0 投票
2 回答
918 浏览

hibernate - Grails 中的 LazyInitializationException

圣杯 2.2.1

我的简单域:

一对多相册懒人取

getMainPhoto从 .gsp 视图调用该方法。问题是有时(并非总是)LazyInitializationException在尝试从懒惰的一对多照片库中获取主照片时出错。

为什么偶尔会发生这种情况,而不是每次我调用该方法时?这正常吗?我怎样才能解决这个问题,而不是急切地获取这种关系?

谢谢

0 投票
1 回答
883 浏览

hibernate - 休眠一对多关联:子选择或渴望

在 grails 应用程序中,我有一个默认为惰性的关系:

我有一个获取作者的标准 API 查询。当我运行查询

我为每个作者有 N+1 个子选择。

我的第二种方法是像这样急切地取书:

在这种情况下,不会出现 N+1 选择问题,但是我有一个 JOIN 查询。

哪种方法在性能和优化方面更好?