摘要: 在对数据库进行操作时,有的时候会出现级联操作的情况。为了保证数据的一致性,我们会考虑使用事务。事务分为编程式事务和声明式事务两种。先看一下编程式事务: 编程式事务分为两种实现形式。区别并不是很大。openSession和getCurrentSession两种形式。openSession形式 Session session = null; try { session = HibernateUtils.getSession(); session.beginTransaction(); session.save(us... 阅读全文
posted @ 2012-05-28 08:44 转航 阅读(252) 评论(0) 推荐(0) 编辑
摘要: AOP为Aspect Oriented Programming的缩写,意为:面向切面编程(也叫面向方面),可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是GoF设计模式的延续,设计模式孜孜不倦追求的是调用者和被调用者之间的解耦,AOP可以说也是这种目标的一种实现 按自己理解解释一下这个图, AOP是将多个方法中都用到的某部分代码封装到SecurityHandler中。要是想把这部分代码插入到需要的地方,首先我们需要知道在哪些点进行插入。每一个具体的方法对应着的为joinpoint,而如果是符合某种正则式的方法集则对应着pointcut. 阅读全文
posted @ 2012-05-28 08:41 转航 阅读(195) 评论(0) 推荐(0) 编辑
摘要: Spring作为一个在java界广泛使用且评价颇高的一个开源框架,给我们提供了好多的功能,极大的方便了我们的开发。此处我介绍IOC容器和AOP概念。 IOC(Inversion of Control)控制反转:本来是由应用程序管理的对象之间的依赖关系,现在交给了容器管理,这就叫控制反转,即交给了IOC容器,Spring的IOC容器主要使用DI方式实现的。不需要主动查找,对象的查找、定位和创建全部由容器管理。通俗点说就是不创建对象。以前我们要调用一个对象的方法,首先要new一个对象。但使用IOC容器,在代码中不直接与对象连接,而是在配置文件中描述要使用哪一个对象。容器负责将这些联系在一起。 I. 阅读全文
posted @ 2012-05-28 08:41 转航 阅读(187) 评论(0) 推荐(0) 编辑
摘要: 有的时候,我们设计表格,会出现多个字段的组合构成表的主键的情况,也就是复合主键。在hibernate也提供了这种主键的实现方式。我们看一个例子。在核算期间中我们把核算年以及核算月作为主键。我们该怎么实现呢?首先,我们先把要组合成主键的字段放到一个单独的类中,但是仅这样是不够的,我们还需要实现序列化接口以及符合equals和hascode方法。代码展示如下。public classFiscalYearPeriodPKimplements Serializable { //核算年 privateintfiscalYear; //核算月 privateintfiscalPeriod; …省略get. 阅读全文
posted @ 2012-05-28 08:39 转航 阅读(207) 评论(0) 推荐(0) 编辑
摘要: 在对象中,是有继承的概念的。那既然Hibernate实现表采用的是一种面向对象的方式,则当然也少不了继承的概念。举个例子来说,小猪和小鸟都是动物,他们都有一些共同的属性。如他们都有一个id,有姓名,有性别。但是呢,小猪有重量,小鸟游高度。(just举例哈)。这就是一个继承关系了,在Hibernate中我们怎么实现它呢?先把这个情况用图来表示一下实现后表的形式为: 这三种方式所生成的表格想必大家不难理解。那hibernate中具体是怎么实现的呢?这三种方式的实体类构造完全是一样的。实现形式如下:public class Pigextends Animal { privateintweight;. 阅读全文
posted @ 2012-05-28 08:38 转航 阅读(217) 评论(0) 推荐(0) 编辑