- 浏览: 125024 次
- 性别:
- 来自: 北京
最新评论
public static Object getForInitSet(String className, java.io.Serializable id) {
Session s = BaseDB.getSession();
Object obj = null;
try {
s.beginTransaction();
obj = s.get(className, id);
Field[] fields=obj.getClass().getDeclaredFields();//getFields();
for (int i = 0; i < fields.length; i++) {
try {
fields[i].getType().asSubclass(Collection.class);
// if("Set".equalsIgnoreCase(fields[i].getType().getSimpleName())){
Object temp=null;
try {
temp = PropertyUtils.getProperty(obj, fields[i]
.getName());
} catch (Exception e) {
}
if (temp != null && !Hibernate.isInitialized(temp))
try {
Hibernate.initialize(temp);
} catch (HibernateException e) {
System.out.println(fields[i].getName()
+ " is ill in " + obj.getClass().getName());
}
// }
} catch (ClassCastException e1) {
}
}
s.getTransaction().commit();
} catch (HibernateException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} finally {
if (s != null)
s.close();
}
return obj;
}
发表评论
-
SSH操作linux命令
2013-08-23 15:48 664查看java 进程 ps -ef |grep java - ... -
SQL Server 2005还原数据库时出现“备份集中的数据库备份与现有的数据库不同”解决方法 (转载)
2012-03-06 16:06 1194对于SQL Server 2005,有几个地方是要注意的,比如 ... -
java生成excel
2012-02-16 17:49 847HSSFSheet sheet = wb.createShee ... -
java生成excel
2012-02-16 17:47 0HSSFSheet sheet = wb.createShee ... -
Hibernate实现one-to-one级联保存[转载]
2012-01-16 09:18 1275库表:CARD_TEST(CARDID[NUMBER(18)] ... -
java 自动检索
2012-01-10 16:29 177jsp页面 $().ready(function() { ... -
一次遍历一个对象中的两个字段
2011-12-29 09:50 1010String sql=" select incom ... -
两个时间计算相差天数
2011-11-25 13:01 985<% Calendar c1 = Calenda ... -
HQL: Hibernate查询语言(转载)
2011-11-02 08:35 666Hibernate配备了一种非常强大的查询语言,这种语言看上去 ... -
项目变更错误修改
2011-11-01 11:55 1011加入审核状态数据库--变更表加入表更审核状态字段alter ... -
科研人员修改密码问题
2011-10-19 15:32 69userAction.java中的updateUser方法 ... -
附件上传
2011-10-19 11:02 1521.对应的配置文件 <property name=&q ... -
项目总结
2011-10-12 18:26 631.列表操作权限的显示 在 baseBO.java中的gene ... -
Hibernate持久化类中get和set方法的调用以及access="field"申明的作用(转载)
2011-10-11 08:51 819Hibernate 在存储或者取数据的时候会自动访问 ... -
hibernate 增删改查和遍历(转)
2011-10-05 23:56 1000package cn.itcast.primer; impor ... -
hibernate.cfg.xml文件
2011-10-05 23:36 638<?xml version="1.0" ... -
实现Enter键自动将焦点切换到表单下一个控件对象上(即代替tab建)
2011-09-23 11:14 1188function addEnterEvent(){ $(&q ... -
公司知识总结
2011-09-21 12:07 74系统维护中一些配置对应的表 1. 元数据配置对应的表 cfg_ ... -
hibernate通过sql语句增删改查java对象的前提
2011-08-23 15:31 846hibernate可以通过sql语句直接对一个对象进行增删改查 ... -
hibernate的配置和初始化数据库
2011-08-15 09:46 888<!DOCTYPE hibernate-configur ...
相关推荐
Hibernate延迟加载是ORM框架Hibernate中的一个重要特性,它旨在提高应用程序的性能和效率。延迟加载(Lazy Loading)策略允许我们仅在需要访问一个对象或其属性时才从数据库加载它们,而不是在初始加载实体时就一次...
本文将深入探讨几种解决Flex与Hibernate延迟加载问题的方法,并着重讲解使用Gilead的方案。 1. **LCDS的Hibernate Adapter**:Adobe LiveCycle Data Services (LCDS) 提供了一个Hibernate适配器,可以处理延迟加载...
当一个实体的某个属性是一个关联的集合,如一对多的关系,Hibernate默认会采用延迟加载机制。这意味着在初始加载实体时,并不会立即查询关联的集合,而是在第一次尝试访问这个集合时才发起SQL查询。这种设计可以避免...
不确定时,或者需要延迟加载时,可以使用`load`。 B. `find` 和 `iterate`: 这两个方法都用于执行HQL(Hibernate Query Language)查询。`find`返回一个List集合,一次性将所有结果加载到内存,适合于小规模数据的...
为了优化用户体验,可以考虑在初始加载时仅获取必要的用户基本信息,而延迟加载`Address`直到用户有明确的需求。 在Gilead的使用过程中,由于其库文件大小的问题,我们可以采取以下策略: 1. 使用第三方库管理工具...
- Hibernate 支持 List、Set、Map 等多种集合类型映射,通过 @OneToMany 和 @ManyToMany 注解配置关联表和中间表。 9. **延迟加载与立即加载** - 延迟加载(Lazy Loading)在需要时才加载关联对象,节省资源。 -...
11. **懒加载和级联操作**:Hibernate的懒加载机制可延迟加载关联的对象,直到真正需要时才从数据库获取。级联操作允许一次操作影响多个关联的实体。 12. **缓存机制**:Hibernate提供了一级缓存(Session级别的)...
2. **集合延迟加载**:通过实现自定义的集合类,如LazyLoadCollection,实现集合的延迟加载。 3. **属性延迟加载**:为实体中的某些字段配置懒加载,减少不必要的数据加载。 #### 八、事务控制策略 合理的事务管理...
2. **集合延迟加载**:通过实现自定义的 SET/LIST 类型,Hibernate 提供了集合级别的延迟加载支持。 3. **属性延迟加载**:只加载实体的主键等基本信息,当需要其他属性时才发起查询。 #### 七、方法选用 1. **...
延迟加载是一种优化技术,允许Hibernate在真正需要的时候才加载关联的对象,从而减少了不必要的数据库访问,提高了应用程序的性能。 #### Session管理 在Hibernate中,所有的数据操作都需要在一个Session的上下文中...
Session的openCriteria()和createQuery()方法可以用来执行HQL(Hibernate Query Language)或 Criteria 查询,这是Hibernate提供的两种强大的查询方式,比直接写SQL更灵活,更易于理解和维护。 Transaction接口用于...
1. **延迟加载(Lazy Loading)**: 只在真正需要时加载关联对象,减少内存占用。 2. **批处理**: 批量处理插入、更新、删除操作,提高效率。 3. **集合分页**: 使用Query的setFirstResult()和setMaxResults()方法...
9. **延迟加载(Lazy Loading)**:Hibernate的懒加载机制可以优化性能,只有在真正需要关联对象时才会执行数据库查询。 10. **实体状态**:Hibernate区分了瞬态(Transient)、持久化(Persistent)和游离...
13. **性能优化**:提供了一些最佳实践和技巧,如批处理、延迟加载、缓存配置等,以提高Hibernate应用的性能。 14. **Hibernate与JPA**:比较Hibernate与Java Persistence API(JPA)的关系,以及如何在JPA规范下...
6. **懒加载和即时加载**: Hibernate 支持懒加载(延迟加载)和即时加载策略,优化性能。 三、Spring MVC 和 Hibernate 集成 1. **配置 Spring 和 Hibernate**: 在 Spring 配置文件中引入 Hibernate 相关配置,如...
- 如果采用了延迟加载机制但希望在某些情况下实现非延迟加载,可以通过`Hibernate.initialize()`方法强制加载关联对象。 #### 十一、对象持久化操作 - 对于`save`操作,如果对象已经与`Session`关联,则无需额外...
为了提升性能,开发者可以考虑使用批处理操作、缓存策略、延迟加载、预加载、连接池等技术。 通过阅读《Hibernate3中文参考手册》,你可以全面了解Hibernate的基本概念和使用方法,进一步提升Java应用程序的数据库...
Hibernate的延迟加载(Lazy Loading)特性是其一大亮点,它可以减少内存占用,提高性能。例如,当获取一个实体对象时,与其关联的集合默认不会立即加载,而是在第一次访问时才加载,这就是延迟加载。 类之间的关系...
1. 支持延迟加载(Lazy Loading):只有在真正需要时才加载关联的对象,提高性能。 2. 集合映射:如List、Set、Map等集合类型的映射。 3. 异步操作:通过使用Hibernate的异步API,可以在后台线程中执行数据库操作,...