摘要: Hibernate关联关系配置第一种关联关系:一对多(多对一)"一对多"是最普遍的映射关系,简单来讲就如消费者与订单的关系。一对多:从消费者角的度来说一个消费者可以有多个订单,即为一对多。多对一:从订单的角度来说多个订单可以对应一个消费者,即为多对一。一对多关系在hbm文件中的配置信息:消费者(一方):<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping 阅读全文
posted @ 2012-01-20 00:23 音①晓 阅读(37777) 评论(5) 推荐(5) 编辑
摘要: 门面模式(Facade Pattern)门面模式的定义: 门面模式也叫做外观模式,是一种常见的封装模式,它的定义:要求一个子系统的外部与其内部的通信必须通过一个统一的对象进行。门面模式提供一个高层次的接口,使子系统更容易使用。门面模式的优点: 1. 减少系统的相互依赖。调用者通过门面角色提供的接口访问子系统,这样只要门面角色提供的接口不发生变化,子系统怎么改变都不会影响高层代码,因为门面角色对于调用者来说都是同一个门面。 2. 有较高的灵活性。依赖降低了,灵活性也就变高了。 3. 提高了安全性。门面角色可以限制外部能访问到的子系统功能,只需要为需要的功能提供一个接口即可,没有提供接口则... 阅读全文
posted @ 2012-01-19 17:06 音①晓 阅读(1088) 评论(0) 推荐(0) 编辑
摘要: 策略模式(Strategy Pattern)策略模式的定义: 策略模式(Strategy Pattern)也叫做政策模式(Policy Pattern)其定义:定义一组算法,将他们封装起来,使它们可以相互替换。策略模式的优点: 1.算法直接可以相互替换。这是因为策略都实现策略接口。 2. 可以避免多重条件的情况出现。假设一个策略家族有N个成员,当一会需要策略A,另一会需要策略B,不使用策略模式的话,只能使用ifelse或switch语句实现,但是这样的程序不容易维护,可读性也比较差。使用策略模式后可以由其他模块确定策略。 3. 有良好的扩展性。增加一个策略,只需要实现策略接口,就这么简... 阅读全文
posted @ 2012-01-19 02:07 音①晓 阅读(1293) 评论(0) 推荐(0) 编辑
摘要: Hibernate集合映射POJOs如下:Customer类------>customer表 Order类对应---------->orders表 customer(1)<--------------->(n)orderpublic class Customer{ private String id; private String username; private String password; private Timestamp registerTime; private int age; private Set<Order> orders = ne. 阅读全文
posted @ 2012-01-18 22:32 音①晓 阅读(13557) 评论(1) 推荐(2) 编辑
摘要: 工厂方法模式(Factory Method Pattern) 工厂方法模式(Factory Method Pattern)其定义:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类。工厂方法模式的优点 1. 工厂方法模式可以降低模块间的耦合性,使用工厂方法模式创建一个对象,不再需要知道创建该对象的艰辛过程和必要信息,只需要提供一个产品的约束条件(例如,类名或约束字符串)就可以获取需要的对象。 2. 工厂方法有良好的扩展性。 3. 屏蔽了产品类,调用者只需要关系产品类的接口。因为产品类的具体对象实例是由工厂产生的。工厂方法模式的应用场景 1.... 阅读全文
posted @ 2012-01-18 15:52 音①晓 阅读(1287) 评论(0) 推荐(1) 编辑
摘要: Hibernate集合映射中,经常会使用到"inverse"和"cascade"这两个属性。对于我这样,Hibernate接触不深和语文水平够烂的种种因素,发现这两个属性实在是难以理解,无奈只好将这个两个属性解释工作交给了Google和Baidu,查看了许多牛人的解释,加上自己在Eclipse上的调试,对"inverse"和"cascade"这两个属性有了一定的见解。"inverse"属性探究 "inverse"-直译过来就是"反转,使颠倒"的意思,书面化 阅读全文
posted @ 2012-01-17 16:45 音①晓 阅读(7869) 评论(6) 推荐(5) 编辑
摘要: 使用Hibernate提供的内置属性<Property name="show_sql">true</Property>只能输出类似于下面的SQL语句:Hibernate: insert into student(name, sex, age, cardId, classroom_id, id) values (?, ?, ?, ?, ?, ?)这样不利于程序的调试,为了可以显示?占位符所代表的具体数据,需要第三方Jar包,p6spy是一个该需求的开源实现。一、在Java Project项目中使用p6spy:到其官方网站下载其Jar包,http://w 阅读全文
posted @ 2012-01-17 01:03 音①晓 阅读(10208) 评论(0) 推荐(2) 编辑