-
struts2升级分界线为Struts 2.1.3
在Struts 2.1.3版本之前的配置:
在Struts2.1.3版本之后的配置:
Struts2.1.3之后无需再配置 ActionContextCleanUp;
从struts2.1.3开始ActionContextCleanUp 和 FilterDispatcher过滤器,已经不建议使用了。将
-
在使用Hibernate进行批量插入的时报错:
insert into JIAOFEI_JILU (version, KH_LX, KH_ID, YQDZ_ID, JFJL_YQDZ_MS, JFJL_HZ_MC, JFJL_LXDH, JFJL_ZT, JFJL_BEIZHU, JFJL_YJE, JFJL_YHJE, JFJL_ZNJ, JFJL_ZNJ_JM, ZH_ID, JFJL_SJ
-
Hibernate有两种方式通过主键获得对象的方式get与load,现在比较一下这两种方式的差异:
举例有如下三个对象之间的关系:
配置文件:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN
-
Hibernate的cache管理
Cache 就是缓存,它往往是提高系统性能的最重要手段,对数据起到一个蓄水池和缓冲的作用。Cache对于大量依赖数据读取操作的系统而言尤其重要。在大并发量的 情况下,如果每次程序都需要向数据库直接做查询操作,它们所带来的性能开销是显而易见的,频繁的网络舆,数据库磁盘的读写操作都会大大降低系统的性能。此 时如果能让数据库在本地内存中保留一个镜像,下次访问的时
-
我的印象里, Hibernate session中常用的保存操作只有:save, update, saveOrUpdate,delete;还有其他很多操作没有用过:persist(), merge(), lock(), refresh(), evict(), replicate() ,有必要弄清楚这些方法分别是做什么, 实体对象的状态会发生什么变化?
先看看这些方法中,从javadoc
-
1. 实体的3种状态
Transient(临时的,自由对象,游离的): 与数据库中记录无关的对象. 直接使用数据类的构造函数可以创建一个Transient对象.
Persistent(持久化对象): 由Hibernate框架所管理, 对象与数据库记录对应, 当Session创建事务提交时, 对象的改变将反映到数据库中. 如果Session.delete删除了对象, 则对
-
1. Session---单数据加载---load/ get
Load方法根据指定的实体类和id从数据库装载认为存在的一条记录. 应该确保对象确实存在, 否则会抛出ObjectNotFoundException.
Load方法可返回实体的代理类实例, 可充分利用内部缓存和二级缓存中的现有数据.
get方法根据指定的实体类和id从数据库查询并装载一条记录
-
1.EhCache是什么
EhCache是Hibernate的二级缓存技术之一,可以把查询出来的数据存储在内存或者磁盘,节省下次同样查询语句再次查询数据库,大幅减轻数据库压力;
2.EhCache的使用注意点
当用Hibernate的方式修改表数据(save,update,delete等等),这时EhCache会自动把缓存中关于此表的所有缓存全部删除掉(这样能达到同步)。但对于数据经常修改的
-
0.前言
由于对Hibernate的二级缓存和查询缓存的区别不了解,也不知道它们起什么作用。于是动手做了一些实验,对它们的组合使用有了一个表面的认识。
1.前提
1)&nbs
-
对于SQLServer数据库在使用中如果将表的主键字段id设为了自增的numeric那么在hibernate中的设置为: <id name="id" type="java.lang.String"&g
-
本文依照HIBERNATE帮助文档,一些网络书籍及项目经验整理而成,只提供要点和思路,具体做法可以留言探讨,或是找一些更详细更有针对性的资料。 初用HIBERNATE的人也许都遇到过性能问题,实现同一功能,用HIBERNATE与用JDBC性能相差十几倍很正常,如果不及早调整,很可能影响整个项目的进度。 &n
-
延迟加载 延迟加载机制是为了避免一些无谓的性能开销而提出来的,所谓延迟加载就是当在真正需要数据的时候,才真正执行数据加载操作。在Hibernate中提供了对实体对象的延迟加载以及对集合的延迟加载,另外在Hibernate3中还提供了对属性的延迟加载。下面我们就分别介绍这些种类的延迟加载的细节 &nb
-
抓取策略(fetching strategy) 是指:当应用程序需要在(Hibernate实体对象图的)关联关系间进行导航的时候, Hibernate如何获取关联对象的策略。抓取策略可以在O/R映射的元数据中声明,也可以在特定的HQL 或条件查询(Criteria Query)中重载声明。 通过配置抓取策略可
-
1.缓存概述 缓存(cache)在java应用程序中是一组内存中的集合示例,它保存着永久性存储源(如硬盘上的文件或数据库)中数据的备份,它的读写速度比读写硬盘的速度快。应用程序在运行时直接读写缓存中的数据,只在某些特定时刻按照缓存中的数据来同步更新数据存储源。如果缓存中存放的数据量非常大,也会用硬盘作为缓存的物理介质 &n
-
自从使用AspectJ风格切面配置,使得Spring的切面配置大大简化,但是AspectJ是另外一个开源项目,其规则表达式的语法也稍稍有些怪异。 下面给出一些常见示例的写法: 比如,下面是一个对Service包上所有方法的切面配置 &n
-
1启用Hibernate二级缓存
Hibernate二级缓存分为两部分,class缓存和查询缓存,其获取对象的方式有所不同,但两者也有联系,查询缓存必须以class缓存为基础才能起作用,否则只会使效率更低。
我们这里使用的二级缓存是通过ehcache第三方插件实现的。
1.1配置Hibernate.cfg.xml
启用class缓存:
&n
-
1.引言Hibernate是最流行的对象关系映射(ORM)引擎之一,它提供了数据持久化和查询服务。
在你的项目中引入Hibernate并让它跑起来是很容易的。但是,要让它跑得好却是需要很多时间和经验的。
通过我们的使用Hibernate 3.3.1和Oracle 9i的能源项目中的一些例子,本文涵盖了很多Hibernate调优技术。其中还提供了一些掌握Hibernate调优技术所必需的数据
-
Hibernate中对动态查询参数绑定提供了丰富的支持,那么什么是查询参数动态绑定呢?其实如果我们熟悉传统JDBC编程的话,我们就不难理解查询参数动态绑定,如下代码传统JDBC的参数绑定:
PrepareStatement pre=connection.prepare(“select * from User where user.name=?”);
pre.se
lya041
分享到朋友圈
- 关注技术:Java j2ee Oracle
- 入住博客:2008-03-14 13年