- 浏览: 314029 次
- 性别:
- 来自: 北京
-
最新评论
-
popotang:
关注raphael,从中学习一下
基于jquery, raphael的WEB流程设计器 -
Getwaysun:
拜读了,写得非常好
iframe跨域session丢失问题 -
chen4w:
good!
Geoserver & Openlayers 学习笔记 -
holysky:
Caused by: org.springframework. ...
Spring对属性文件加密解密应用 -
holysky:
希望能解决一下!
Spring对属性文件加密解密应用
文章列表
1.悲观锁
它指的是对数据被外界修改持保守态度。假定任何时刻存取数据时,都可能有另一个客户也正在存取同一笔数据,为了保持数据被操作的一致性,于是对数据采取了数据库层次的锁定状态,依靠数据库提供的锁机制来实现。
基于jdbc实现的数据库加锁如下:
select * from account where name="Erica" for update
在更新的过程中,数据库处于加锁状态,任何其他的针对本条数据的操作都将被延迟。本次事务提交后解锁。
而hibernate悲观锁的具体实现如下:
String sql="查询语句";
Query query ...
- 2009-03-11 14:38
- 浏览 951
- 评论(0)
Hibernate支持两种锁机制:
即通常所说的“悲观锁(Pessimistic Locking)”和
“乐观锁(OptimisticLocking)”。
悲观锁的实现,往往依靠数据库提供的锁机制(也只有数据库层提供的锁机制才能真正保证数据访问的排他性,否则,即使在本系统中实现了加锁机制,也无法保证外部系统不会修改数据)。
Hibernate的加锁模式有:
Ø LockMode.NONE : 无锁机制。
Ø LockMode.WRITE :Hibernate在Insert和Update记录的时候会自动
获取。
Ø LockMode.READ : Hibernate在读取记录的时候会自动获取。
以 ...
- 2009-03-11 14:29
- 浏览 1077
- 评论(0)
1、Action是不是线程安全的?如果不是 有什么方式可以保证Action的线程安全?如果是,说明原因。
不是
声明局部变量,或者扩展RequestProcessor,让每次都创建一个Action,或者在spring中用scope="prototype"来管理
2、MVC,分析一 ...
- 2009-03-10 21:28
- 浏览 1320
- 评论(0)
首选创建web.xml 主要是配置Struts的ActionServlet和Spring的字符过滤器
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="2.4" xsi:schemaLocation="http:// ...
- 2009-03-10 12:41
- 浏览 1997
- 评论(1)
缓存是位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为了减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能.
Hibernate在查询数据时,首先到缓存中去查找,如果找到就直接使用,找不到的时候就会从物理数据源中检索,所以,把频繁使用的数据加载到缓存区后,就可以大大减少应用程序对物理数据源的访问,使得程序的运行性能明显的提升.
Hibernate缓存分类:
Session缓存,一级缓存.
SessionFactory的缓存分为内置缓存和外置缓存.内置缓存中存放的是SessionFactory对象的一些集合属性包含的数据(映射元素据及预定义S ...
- 2009-03-10 12:26
- 浏览 787
- 评论(0)
hibernate的session提供了一级缓存,每个session,对同一个id进行两次load,不会发送两条sql给数据库,但是session关闭的时候,一级缓存就失效了。
二级缓存是SessionFactory级别的全局缓存,它底下可以使用不同的缓存类库,比如ehcache ...
- 2009-03-10 12:15
- 浏览 1214
- 评论(0)
HQL: Hibernate查询语言 Hibernate配备了一种非常强大的查询语言,这种语言看上去很像SQL。但是不要被语法结构 上的相似所迷惑,HQL是非常有意识的被设计为完全面向对象的查询,它可以理解如继承、多态 和关联之类的概念。
大小写敏感性问题
除了Java类与属性的名称外,查询语句对大小写并不敏感。 所以 SeLeCT 与 sELEct 以及 SELECT 是相同的,但是 org.hibernate.eg.FOO 并不等价于 org.hibernate.eg.Foo 并且 foo.barSet 也不等价于 foo.BARSET。
本手册中的HQL关键字将使用 ...
- 2009-03-10 10:13
- 浏览 1092
- 评论(0)
Eclipse作为开发Java的IDE,从出现到现在已经有几年的时间了,其丰富的特性,操作容易和在提高生产力方面收到了广大开发者的青睐。对Swing开发者来说,使用NetBeans可以充分的利用NetBeans的强有力的RCP。
Eclipse作为开发J ...
- 2009-03-10 00:28
- 浏览 3312
- 评论(0)
随着NetBean6.0发布脚步的逼迫,Java IDE领域又是风起云涌,刀光剑影。随着老牌的JBuilder已成昔日黄花,最近几年火的不得了的Eclipse还没来得及体验“高处不胜寒”的成就感,即被Sun公司如法泡制的NetBeans给抢了镜头。如今的 Sun,对IBM来了个以其人之道还及其人之身,对Eclipse来了个“全体复制”,将Eclipse的几乎所有的特点都搬到了NetBeans中,如插件、开源、免费、Web开发等等,同时又在NetBeans6.0中大秀自己的技术老底。那么面对NetBeans如此来势汹汹的进攻或是搅局,Eclipse还能“一揽众山小”吗?还会是开源IDE的领头羊 ...
- 2009-03-09 23:57
- 浏览 1396
- 评论(0)
hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别:
一、预备知识:
在所有之前,说明一下,对于hibernate,它的对象有三种状态,transient、persistent、detached
下边是常见的 ...
- 2009-03-09 22:23
- 浏览 845
- 评论(0)
applicationContext.xml 文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:jee="http://www.spri ...
- 2009-03-09 22:15
- 浏览 753
- 评论(0)
大家知道,在Hibernate Framework中,提供了三种查询数据的方式:
1.Hibernate Query Language (HQL):
它是ANSI SQL的最小OO Dialect,例:
session.createQuery("from Category c where c.name like 'Laptop%'");
entityManager.createQuery("select c from Category c where c.name like 'Laptop%'" ...
- 2009-03-09 22:13
- 浏览 927
- 评论(0)
Hibernate自带的连接池算法相当不成熟。 它只是为了让你快些上手,并不适合用于产品系统或性能测试中。出于最佳性能和稳定性考虑你应该使用第三方的连接池。只需要用特定连接池的设置替换 hibernate.connection.pool_size即可。这将关闭Hibernate自带的连接池。 例如, 你可能会想用C3P0.
C3P0是一个随Hibernate一同分发的开源的JDBC连接池,它位于lib目录下。 如果你设置了hibernate.c3p0.*相关的属性, Hibernate将使用 C3P0ConnectionProvider来缓存JDBC连接。 如果你更原意使用Pr ...
- 2009-03-09 22:10
- 浏览 1091
- 评论(0)
Hibernate的持久化类使用的是JavaBean的风格,为要被访问的属性提供了一套get和set方法,这两个方法也叫做持久化类的访问方法.记得曾经在接触JavaBean的时候我很迷糊,总觉得提供这两个方法,倒不如把Bean的属性设置public,然后直接调用对象.属性,这样来的方便. 但是后来,有一个这样的需求,就是一个人名字可以被查看,但是不可以修改.这个时候如果用set方法的话,只需要把set方法的修饰符换为private 就OK了.如果是用对象.属性的形式调用就麻烦了.而且最重要的一个有点是JavaBean的风格可以简化Hibernate通过JAVA反射机制来获得持久化类的访 ...
- 2009-03-09 22:06
- 浏览 1093
- 评论(0)
在过去几年里,Hibernate不断发展,几乎成为Java数据库持久性的事实标准。它非常强大、灵活,而且具备了优异的性能。在本文中,我们将了解如何使用Java 5 注释来简化Hibernate代码,并使持久层的编码过程变得更为轻松。
传统上,Hibernate的配置依赖于外部 XML 文件:数据库映射被定义为一组 XML 映射文件,并且在启动时进行加载。创建这些映射有很多方法,可以从已有数据库模式或Java类模型中自动创建,也可以手工创建。无论如何,您最终将获得大量的 Hibernate 映射文件。此外,还可以使用工具,通过javadoc样式的注释生成映射文件,尽管这样会给您的构建过程 ...
- 2009-03-09 22:03
- 浏览 4009
- 评论(1)