`
黑猪王子
  • 浏览: 131587 次
  • 性别: Icon_minigender_1
  • 来自: 云南
社区版块
存档分类
最新评论

代替Hibernate.initialize()的解决方案

阅读更多

使用hibernate的延迟加载 也就是懒加载,势必遇到集合的加载问题

有时候懒加载的集合对象需要initialize()来得到

 

但是使用了hibernate的api

 

本人试想苛求一下,不许用hibernate的api减少侵入性,不使用initialize()如何?

 

这里本人目前找到了一个可行的方案:

 

比如可以对集合对象mySet

 

mySet.iterator();

 

这样的话  代理类在iterator();中会调用一个read()方法 进而初始化了mySet

 

 

目前测试可行,不知道各位高人有其他更好的解决方案吗?

 

欢迎智者指点~

分享到:
评论
2 楼 风花雪月饼 2008-11-02  
哎。突然想到了。
TimePoint建立两个映射。。。
。。。。。突然想起来了。不好意思。不好意思。


---------- Append 2008/11/2 -------------

貌似这样不太好看。
因为我还需要编写两个类。
不知道在查询时如何设置动态加载,也就是一个SQL查出来,1 to 1?
1 楼 风花雪月饼 2008-11-02  
楼主这个是1 to N数据加载方式,解决绑定hibernate的问题。
我也很久没玩hibernate了。我记得我当时就是比如这样:user.getBlogs();数据就已经加载了。

但是我有一个比较特殊的延迟加载:
TimePoint{
   OnePointRecord;
   TwoPointRecord;
   ThreePointRecord;
}
TimePoint与其中的三个PointRecord是1 to 1的关系。
但是,我每次只需要2个PointRecord;
比如我需要的数据组合是:OnePointRecord + ThreePointRecord 和 TwoPointRecord + ThreePointRecord。

由于是1 to 1,使用延迟加载就会出现一个性能问题。但是我的数据组合又是不确定的。

现在唯一想到的就是不用延迟加载。反正1 to 1,全查出来了。

因为我希望执行的就是一条SQL语句。

相关推荐

    HIbernate4.3.6整合c3p0所需jar

    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:225) at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService...

    解析 this.initialize.apply(this, arguments)

    标题 "解析 this.initialize.apply(this, arguments)" 涉及到的是JavaScript编程中的一个关键概念,尤其是在对象构造和类继承的情景下。`this` 关键字在JavaScript中扮演着核心角色,它指的是函数调用时的上下文,而...

    Lazy.Object.Initialize

    在描述"延迟加载类Lazy的使用示例"中,我们可以预期在`Lazy.Object.Initialize.Console`这个项目中包含一个使用`Lazy<T>`的控制台应用程序示例。这个示例可能展示了如何在多线程环境中利用`Lazy<T>`确保安全初始化,...

    Plsql 12连接Oracle时出现Could not initialize oci.dll解决方案 oracle 客户端

    以下是一些解决“Could not initialize oci.dll”问题的步骤: 1. **下载Oracle Instant Client**: 首先,你需要从Oracle官方网站下载适合你的操作系统的Oracle Instant Client版本。在这个案例中,我们看到的...

    Ajax-jquery.initialize.zip

    Ajax-jquery.initialize.zip,用于动态创建元素初始化的jquery插件(几年前很好,在2019年 考虑react或其他东西而不是jquery),ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和...

    集成spring的hibernate懒加载

    为了解决这个问题,有几种常见的解决方案: 1. **Open Session in View (OSIV)**:这是一种将Session保持开放到视图渲染完毕的设计模式,通常通过Spring的`OpenEntityManagerInViewFilter`或`...

    Hibernate配置常见错误

    解决方案:检查hibernate.cfg.xml文件中的dialect属性,确保其与使用的数据库类型相匹配,例如MySQL应设置为`<property name="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</property>`。同时,确认项目...

    jquery.initialize:一个简单的 jQuery 元素初始化器上下文插件

    jquery.initialize 1.4.0 1.4.0 之前的最新更新:添加了子元素数据绑定。 最新更新至 1.3.0:数据属性、模板属性和字符串模板替换。 一个简单的 jQuery 元素初始值设定项上下文插件。 该插件使元素初始化并将定义...

    Initialize-the-array.zip_array.initialize

    在编程领域,数组是一种基本的数据结构,用于存储同类型的元素集合。数组的初始化是编程过程中一个重要的步骤,尤其是在C++这种静态类型语言中。数组的初始化确保了在程序开始执行时,数组中的每个元素都有一个预设...

    Hibernate映射导致的几个异常

    解决方案是在保存主对象之前,先确保所有从属对象都已经持久化。 ### 3. QueryException: could not resolve property 当执行HQL查询或criteria查询时,如果指定的属性名在目标类中不存在,或者属性路径有误,就会...

    虚拟机初始化不了

    \\.\Global\vmx86虚拟机启动过程中,报这种错误,然后启动不了。 本文档可以很好的解决这个问题。

    Plsql Developer连接Oracle时出现Could not initialize oci.dll解决方案

    在日常工作中,记录并分享这些问题的解决方案是非常有价值的,不仅能帮助自己记忆,也能方便他人遇到类似问题时快速找到答案。希望本文能对你有所帮助,如有疑问,请随时提问。感谢你的阅读和支持!

    J2EE利用Hibernate采用B/S架构网页设计

    import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.cfg.Configuration; /** * Configures and provides access to Hibernate sessions, tied to the * current ...

    Failed to initialize plugin(解决方案).md

    Failed to initialize plugin(解决方案).md

    Hibernate 文档

    例如,`<property name="dialect">org.hibernate.dialect.MySQLDialect</property>` 指定了 MySQL 数据库的方言。 在 Hibernate 中,CRUD(Create, Read, Update, Delete)操作是通过 Session 接口完成的。Session ...

    Could not initialize class net.sf.jasperreports.engine.util.JRStyledTextParser

    5. **查阅文档**:阅读JasperReports的官方文档和相关的技术论坛,看看是否有类似问题的解决方案。 6. **代码审查**:检查代码中所有涉及`JRStyledTextParser`的部分,确保没有错误的用法。 7. **更新库**:如果...

    hibernate多对多关联映射

    `org.hibernate.persister.collection.AbstractCollectionPersister`和`org.hibernate.action.internal.CollectionRemoveAction`等类是处理多对多关联删除的关键。通过阅读源码,我们可以了解到Hibernate如何处理...

    hibernate validator

    Hibernate Validator 是一个强大的Java Bean验证框架,它是Hibernate项目的一部分,实现了JSR-303(Bean Validation 1.0)和JSR-349(Bean Validation 1.1)标准,提供了对对象模型的验证功能。在版本5.1.2.Final中...

    hibernate配置要点详谈

    - 支持`java.util.Set` 或 `net.sf.hibernate.collection.Bag` 类型的集合。 #### 八、多对多关系 - **多对多关系**: - 注意双方都需要设置`inverse`和`lazy`属性,`cascade`属性只能设为`insert-update`。 - ...

    如何解决hibernate自动更新实体类的问题共5页.pdf.zip

    本文将深入探讨这个问题,并提供多种解决方案。 一、问题阐述 在Hibernate的工作流程中,当我们对一个已加载的实体对象进行修改,比如修改了它的属性值,然后没有显式地调用`save()`或`update()`方法,而是直接提交...

Global site tag (gtag.js) - Google Analytics