`
newleague
  • 浏览: 1495038 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类

hibernate实例简析-hibernate_lazy_for_class

阅读更多
hibernate lazy策略可以使用在:
* <class>标签上,可以取值:true/false
* <property>标签上,可以取值:true/false需要类增强工具
* <set><list>标签上,可以取值:true/false/extra
* <one-to-one><many-to-one>单端关联上,可以取值:false/proxy/noproxy

lazy概念:只有真正使用该对象时,才会创建,对于hibernate而言,正真使用的时候才会发出sql

hibernate支持lazy策略只有在session打开状态下有效

<class>标签上的lazy特性只对普通属性起作用

/**
* 运行本单元测试的条件:
*
* 设置<class>标签上的lazy=true,也就是默认配置**/
//不会发出sql
Group group = (Group)session.load(Group.class, 1);

//不会发出sql
System.out.println("group.id=" + group.getId());

//会发出sql
System.out.println("group.name=" + group.getName());
===
Session session = null;
Group group = null;
try {
session = HibernateUtils.getSession();
session.beginTransaction();

group = (Group)session.load(Group.class, 1);

session.getTransaction().commit();
}catch(Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
}finally {
HibernateUtils.closeSession(session);
}

//不能正确输出,抛出LazyInitializationException 异常,因为session已经关闭
//hibernate支持lazy策略只有在session打开状态下有效
System.out.println("group.name=" + group.getName());
分享到:
评论

相关推荐

    lazy_object_proxy-1.6.0-cp37-cp37m-win_amd64

    lazy_object_proxy-1.6.0-cp37-cp37m-win_amd64

    hibernate-distribution-3.6.6.Final-dist

    《Hibernate 3.6.6:持久化框架的里程碑版本》 Hibernate,作为Java领域中最受欢迎的对象关系映射(ORM)框架之一,以其强大的功能和易用性深受开发者喜爱。在Hibernate 3.6.6这个版本中,我们看到了一个稳定、成熟...

    lazy-snapping--master.zip_lazy-snapping

    标题中的“lazy-snapping--master.zip_lazy-snapping”暗示了这是一个关于“lazy-snapping”技术的项目源码或实现,而“master.zip”通常代表GitHub仓库的主分支压缩包。描述提到“基于lazy-snapping的图片分割代码...

    lazy_object_proxy-1.6.0-pp37-pypy37_pp73-win_amd64

    lazy_object_proxy-1.6.0-pp37-pypy37_pp73-win_amd64

    lazy_object_proxy-1.6.0-cp38-cp38-win_amd64

    lazy_object_proxy-1.6.0-cp38-cp38-win_amd64

    lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64

    lazy_object_proxy-1.4.3-cp27-cp27m-win_amd64

    hibernate-release-5.0.7 全包

    Hibernate使用它来实现类的动态代理和字节码增强,例如懒加载(lazy loading)和CGLIB代理。 3. **antlr-2.7.7.jar**:ANTLR是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件。在...

    hibernate源码release-4.1.4.Final版

    《深入剖析Hibernate 4.1.4.Final源码》 Hibernate,作为一款著名的Java对象关系映射(ORM)框架,极大地简化了Java开发者在数据库操作中的工作。它通过提供对象化的数据访问接口,使得开发者可以更加专注于业务...

    Python库 | lazy_object_proxy-0.1.0-cp33-none-win_amd64.whl

    python库。 资源全名:lazy_object_proxy-0.1.0-cp33-none-win_amd64.whl

    Hibernate之第3解之-hibernate_hibernate_many2one_1

    默认情况下,Hibernate采用`LAZY`加载,即在需要时才加载关联的对象,以避免不必要的性能开销。若希望关联对象与主对象一起加载,可以设置`fetch = FetchType.EAGER`。 4. **反向引用**: 虽然`@ManyToOne`注解在...

    hibernate-extensions-2.1.3

    1. **延迟加载(Lazy Loading)增强**:Hibernate核心库已经支持延迟加载,但扩展可能提供了更精细的控制,例如按需加载关联的对象集合,减少内存占用和提高性能。 2. **批量操作**:批量插入、更新和删除功能可以...

    hibernate-release-4.3.10.Final.zip

    - **SessionFactory**:是线程安全的,用于创建Session实例,它是整个Hibernate的核心,管理实体类和数据库表的映射信息。 - **Session**:是操作数据库的入口,提供了一种基于对象的操作方式,支持CRUD操作,并...

    hibernate-orm-3.3源码

    Hibernate 支持懒加载(Lazy Loading),即延迟加载关联对象,直到真正需要时才从数据库加载,有效避免了"数据溢出"问题。它通过生成代理对象实现这一功能。 七、事件监听器 Hibernate 提供了一套事件监听系统,...

    hibernate-release-5.0.7.Final.zip官方

    &lt;property name="hibernate.cache.region.factory_class"&gt;org.hibernate.cache.ehcache.EhCacheRegionFactory &lt;property name="hibernate.cache.use_second_level_cache"&gt;true &lt;property name="hibernate.cache.use_...

    C++ for Lazy Programmers - Will Briggs_C++_

    C++ for Lazy Programmers - Will Briggs

    hibernate-release-4.2.3.lib.zip

    懒加载(Lazy Loading)是Hibernate的一大特性,它允许对象的关联属性在需要时才加载,从而减少数据库访问。立即加载(Eager Loading)则会在初始加载对象时,同时加载关联的数据。 七、事务处理 在Hibernate中,...

    hibernate-entitymanager-3.4.0.GA

    【标题】"hibernate-entitymanager-3.4.0.GA" 是一个与Java持久化框架Hibernate Entity Manager相关的库,这个版本号表明它是2009年左右发布的一个稳定版本。Hibernate Entity Manager是JPA(Java Persistence API)...

    hibernate-release-4.2.2.Final.zip

    《Hibernate 4.2.2.Final:持久化框架的核心技术与应用》 Hibernate,作为Java领域中的一个著名对象关系映射(ORM)框架,它极大地简化了数据库操作,使得开发者能够以面向对象的方式处理数据库交互。在hibernate-...

    hibernate-release-5.2.10

    《深入理解Hibernate 5.2.10:企业级持久化框架解析》 Hibernate作为Java领域最著名的对象关系映射(ORM)框架之一,一直以来都是开发者处理数据库操作的重要工具。本文将围绕`hibernate-release-5.2.10`这一版本,...

    hibernate-distribution-3.6.8.Final-dist

    2. **创建SessionFactory**:通过Hibernate的Configuration类加载配置文件并创建SessionFactory实例,它是Hibernate工作的核心。 3. **操作对象**:使用SessionFactory的openSession()方法创建Session对象,进行增...

Global site tag (gtag.js) - Google Analytics