摘要: 多对一使用 @ManyToOne 注解定义多对一关系。@Entity()public class Flight implements Serializable { @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} ) @JoinColumn(name="COMP_ID") public Company getCompany() { return company; } ...}其中@JoinColumn 注解是可选的,关键字段默认值和一对一关联的情况相似。列名为:主题的关联属性名 + 下划线 + 被关 阅读全文
posted @ 2012-07-03 19:37 人生如若初见 阅读(503) 评论(0) 推荐(0) 编辑
摘要: 一对一使用 @OneToOne 注解可以建立实体Bean之间的一对一关系。一对一关系有3种情况。• 关联的实体都共享同样的主键。@Entitypublic class Body { @Id public Long getId() { return id; } @OneToOne(cascade = CascadeType.ALL) @PrimaryKeyJoinColumn public Heart getHeart() { return heart; } ...}@Entitypublic class Heart { @Id public Long getId() { ...}}通过@Pri 阅读全文
posted @ 2012-07-03 19:35 人生如若初见 阅读(276) 评论(0) 推荐(0) 编辑
摘要: @Entity,注册在类头上,将一个类声明为一个实体bean(即一个持久化POJO类) 。@Table,注册在类头上,注解声明了该实体bean映射指定的表(table)。@Id用来注册主属性,@GeneratedValue用来注册主属性的生成策略,@Column用来注册属性,@Version用来注册乐观锁,@Transient用来注册不是属性。以上的@Id、@GeneratedValue、 @Column 、 @Version,可以用来注册属性,既可以写在Java类的属性上,也可以注册在属性对应的getter上。@Transient注册在多余的属性或多余的getter上,但是必须与以上的@Co 阅读全文
posted @ 2012-07-03 16:55 人生如若初见 阅读(470) 评论(0) 推荐(0) 编辑
摘要: java中的时间操作不外乎这四种情况: 1、获取当前时间 2、获取某个时间的某种格式 3、设置时间 4、时间的运算 好,下面就针对这三种情况,一个一个搞定。 一、获取当前时间 有两种方式可以获得,第一种,使用Date类。 j2SE的包里有两个Date类,一个是java.sql.Date,一个是java.util.Date 这里,要使用java.util.Date。获取当前时间的代码如下 Date date = new Date(); date.getTime(); 还有一种方式,使用System.currentTimeMillis(); 这两种方式获得的结果是一样的,都是得到一个当前的时间的l 阅读全文
posted @ 2012-06-12 14:44 人生如若初见 阅读(724) 评论(0) 推荐(0) 编辑
摘要: 为什么要用Hibernate框架?这个在《Hibernate介绍》博客中已经提到了。既然用Hibernate框架访问管理持久层,那为何又提到用Spring来管理以及整合Hibernate呢?首先我们来看一下Hibernate进行操作的步骤。比如添加用户的一个步骤。在上一篇博客中《八步详解Hibernate的搭建及使用》详细介绍到了Hibernate使用的步骤。以下的代码来自上篇博客,在此为了解释提出的问题,只做一个截图,若想看完整代码示例,可以参考《八步详解Hibernate的搭建及使用》看截图,可以看出,Hibernate操作的步骤如下:1. 获得Configuration对象2. 创建Se 阅读全文
posted @ 2012-04-17 16:32 人生如若初见 阅读(566) 评论(2) 推荐(0) 编辑
摘要: 中国古代对妇女制定了“三从四德”的道德规范,“三从”是指“未嫁从父、既嫁从夫、夫死从子”,也就是说一个女性,在没有结婚的时候要听从于父亲,结了婚后听从于丈夫,丈夫死了还要听儿子的,举个例子来说,一个女的要出去逛街,同样这样的一个请求,在她没有出嫁前她必须征得父亲的同意,出嫁之后必须获得丈夫的许可,那丈夫死了怎么办?一般都是男的比女的死的早,还要问问儿子是否允许自己出去逛街,估计你下边马上要问要是没有儿子怎么办? 既然有这么多的问题,那我们要想办法来解决这些问题,我们可以抽象成这样一个结构,女性的请求先发送到父亲类,父亲类一看是自己要处理的,就回应处理,如果女儿已经出嫁了,那就要把这个请求... 阅读全文
posted @ 2012-04-16 14:02 人生如若初见 阅读(1857) 评论(12) 推荐(2) 编辑
摘要: 接下来讲命令模式,这个模式从名字上看就很简单,命令嘛,老大发命令,小兵执行就是了,确实是这个意思,但是更深化了,用模式来描述真是是世界的命令情况。我们就以项目组为例子来讲述命令模式。 项目的成员分工也是采用了常规的分工方式,分为需求组(Requirement Group,简称RG)、美工组(Page Group,简称PG)、代码组(我们内部还有一个比较优雅的名字:逻辑实现组,这里使用大家经常称呼的名称吧,英文缩写叫Code Group,简称CG),加上项目经理,刚开始的时候客户(也就是旅行社,甲方)还是很乐意和我们每个组探讨,比如和需求组讨论需求,和美工讨论页面,和代码组讨论实现,告诉他... 阅读全文
posted @ 2012-04-13 12:40 人生如若初见 阅读(454) 评论(1) 推荐(1) 编辑
摘要: 几天没写设计模式的总结了,工作上要学的事情多,觉得写写挺麻烦。可是这几天下来发现没写总结后,新学的几个模式之间的区别都搞混淆了,看来做学问真的是没有捷径的。写吧!先来看一个公司的部门关系怎么样,由于各个部门之间都会有交互,是不是显得逻辑很混乱?可想而知,就算实现了,日后维护也是相当困难的。于是就有了中介者模式:中介者模式:用一个中介对象来封装一系列的对象交互。中介者使各对象不需要显示地互相引用,从而使其耦合松散,而且可以独立地改变它们之间的交互。简单的说,就是一个星型拓扑图抽象中介者类:public abstract class AbstractMediator {protected Purc 阅读全文
posted @ 2012-04-13 10:04 人生如若初见 阅读(1188) 评论(4) 推荐(2) 编辑
摘要: 模板方法模式,定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类中可以不改变的一个算法的结构即可重定义该算法的某些特定步骤。 首先来看下模板方法模式的结构图: AbstractClass是抽象类,其实也就是一抽象模板,定义并实现了一个模板方法。即templeteMethod。这模板方法一般是一个具体方法(在抽象类中实现了的基本方法叫做具体方法;在抽象类中没有实现,在子类中实现了叫做抽象方法),它给出了一个顶级逻辑的骨架,而逻辑的组成步骤(doAnything、doSomething)在相应的抽象操作中,推迟到子类实现。顶级逻辑也可以调用一些具体方法。子类不重写temple. 阅读全文
posted @ 2012-04-06 09:38 人生如若初见 阅读(715) 评论(2) 推荐(2) 编辑
摘要: 好,请安静,后排聊天的同学别吵醒前排睡觉的同学了,大家要相互理解嘛。今天讲适配器模式,这个模式也很简单,你笔记本上的那个拖在外面的黑盒子就是个适配器,一般你在中国能用,在日本也能用,虽然两个国家的的电源电压不同,中国是220V,日本是110V,但是这个适配器能够把这些不同的电压转换为你需要的36V电压,保证你的笔记本能够正常运行,那我们在设计模式中引入这个适配器模式是不是也是这个意思呢?是的,一样的作用,两个不同接口,有不同的实现,但是某一天突然上帝命令你把B接口转换为A接口,怎么办?继承,能解决,但是比较傻,而且还违背了OCP原则,怎么办?好在我们还有适配器模式。 Target是一个类(接. 阅读全文
posted @ 2012-04-05 09:42 人生如若初见 阅读(528) 评论(0) 推荐(1) 编辑