问题标签 [lazy-initialization]

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 投票
2 回答
1206 浏览

mef - MEF 自定义属性和惰性

我想我正在失去理智。:) 我已经为此苦苦挣扎了两天了。代码看起来正确。但是由于某种原因,当我尝试访问 [ImportMany] 字段时,它为空,或者至少不返回任何值。

它获得了目录中的 3 个部分,但它们没有应用于我正在定义的 Lazy[] 导入。

这是我的代码:

0 投票
2 回答
1628 浏览

c# - 使用无状态会话延迟查找字典值

在我的应用程序中,我设置了一个三元字典映射,以便对于给定的用户,我可以检索属于该用户的对象的每个实例的“设置”。也就是说,我有类似的东西:

所以每当我有一个Baz对象时,我都可以通过currentUser.BazSettings[baz].

我希望能够使用无状态会话来执行此操作,但我得到了LazyInitializationException以下代码:

当我改用 anISession时,问题就消失了。

完整的 NHibernate 错误消息包括文本“没有会话或会话已关闭”。这是有道理的,因为在使用无状态会话时,实体不会连接到会话。但是,我认为有一种方法可以使用无状态会话来执行此查找。

如何使用无状态会话执行查找currentUser.BazSettings[baz]

0 投票
1 回答
4196 浏览

hibernate - Hibernate:合并与多对一对象传递工作吗?

嗨,我知道并在合并之前进行测试会将对象重新附加回会话,以防止当对象不再处于会话中时出现延迟初始化异常。

a.) 所以我有几个问题。

如果我付款-> 客户(在多对一的单向关系中)并且我愿意

支付支付 = Payment.class.cast(session.merge(oldPayment));

客户对象是否也会重新附加到会话中,或者我是否必须为客户进行另一个合并调用。

b.) 如果付款--> 客户(多对一双向关系)会发生什么。比会发生什么。

c.)如果我有超过三个层次的关系呢?
例如:酒店 --> 付款 --> 客户。

如果我做 Hotel hotel = Hotel.class.cast(session.merge(unmergeHotel)),付款和客户对象也会合并到会话中吗?

谢谢

0 投票
1 回答
411 浏览

spring - DataTable 之后的 Bean 注入

我有一个带有从服务类读取数据的数据表的页面。假设该服务类被注入了一个contactDAO,但它不会立即被注入。事实上,当页面第一次加载时,数据表是空的,因为 DAO 还没有被注入。但是,如果我调用 addContact(),则“联系人”列表会更新得很好,因为此时会注入 contactDAO。

如何确保在数据表需要使用服务类之前注入contactDAO?我正在使用 Spring 3 和 JSF 2.0。

带有数据表的页面绑定到列表“ contactServiceImpl.contacts”:

我的 ContactServiceImpl 看起来像这样:

和 applicationContext.xml

0 投票
0 回答
676 浏览

hibernate - 如何在没有 LazyInitializationException 的情况下在分离的 Hibernate 代理上设置 id?

我正在使用该对象,它有超过 15 个相关实体(父母)。在我的 UI 方面,我只需要这些实体的 id,所以我不需要 Hibernate 的fetch功能,我使用惰性代理概念一方面避免对数据库的命中,另一方面让对象具有填充的 id .

为了实现这一点,我必须对所有父实体使用属性访问而不是字段访问:

到目前为止一切顺利,我从数据库加载对象(没有进行额外的连接)并在 Web UI 上显示所有关系(最多简单的选择输入)。我不为 UI 创建克隆(值对象),我直接使用分离的休眠对象。但是当我对 UI 进行任何更改(更改父对象)时,框架会为相关的代理实体调用setId()并且 .... 这会导致这些代理的初始化!这是来自 Hibernate BasicLazyInitializer 的代码:

并且发生 LazyInitializationException(当然,我此时没有会话!)。

那么,是否有任何方法可以在不为所有实体创建值对象的情况下从数据库中获取?我可以说,我总是直接在 UI 中使用数据对象,但它们都被完全获取(不是代理),而且我没有像现在使用这些代理这样的问题......

我真的不明白,为什么 Hibernate 在设置时进行代理初始化(尽管在获取时没有这样做)@ID 字段......

提前致谢!

0 投票
2 回答
1728 浏览

javascript - javascript延迟初始化的优缺点

嗨,我想听听考虑 javascript 延迟初始化的任何利弊,只有在使用对象时才加载脚本。任何意见将不胜感激。

0 投票
2 回答
1052 浏览

coffeescript - CoffeeScript 惰性函数实现

我想在 JavaScript 中做这样的事情

CoffeeScript 将另一个本地 var init 添加到初始 init 中,因此第二个 init 不会覆盖第一个

一些解决方案/解决方法的提示将不胜感激。

0 投票
1 回答
865 浏览

hibernate - LazyInitializationException 由于在使用注释的模块化 Spring 应用程序中的 Hibernate 3 的“父”应用程序上下文中没有定义会话

我对 Hibernate3 和 Spring3 都很陌生,我遇到了一个与初始化休眠对象的惰性引用有关的问题。

我有一个完全包含的道和服务。域对象是使用 hbm2java 和逆向工程文件创建的。我遵循了一些在我的服务对象上使用注释 (@Transactional) 时发现的最佳实践。(本指南对我非常有帮助http://carinae.net/2009/11/layered-architecture-with-hibernate-and-spring-3/

我遇到的问题是我的 service.jar 中有以下 spring 配置,用于注释处理和事务管理:

我的 hibernate.cfg.xml 只是我的数据源详细信息和域对象的注释映射的列表。

我正在使用服务层和 dao 层。

和一个道层

此代码集合被打包为 maven 模块,并作为依赖项包含在另一个 spring 项目中,该项目是我正在开发的调度和工作流模块。相关 applicationContext.xml 信息

还有一个基本的 Workflow.java:

在 LOG.info 语句期间,我得到(并且我理解为什么会得到)一个 LazyInitializationException。事务由包含的服务 maven 依赖项中的 spring-hibernate 上下文管理,在此上下文中不可用。我不明白将事务管理包含到这一层(及更高层)以防止 LazyInitializationException 的正确方法。我试着简单地添加

到业务层的应用程序上下文,它抱怨它看不到服务依赖项中定义的事务管理器。但是,如果我确实将 @Transactional 添加到 Workflow 步进器的 .execute() 中,它会“继承”依赖项的配置。

我错过了什么?

0 投票
1 回答
879 浏览

hibernate - 测试 grails 属性是否是惰性的/未初始化的?

我似乎无法测试一个对象是否被延迟初始化。我在这里做错了什么?

0 投票
2 回答
448 浏览

java - How do I use eager Instantiation in Hibernate?

that is my mapping class.
the code in wich i call an instantiation is :

and this is listandCastMethod:

And i keep geting a :

but the thing is that the fields of Proiect class are populated except the Items set where i get this exception, but i want the items set to be populated.How can i do that?