`
lwbbupt
  • 浏览: 36239 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
一、hibernate类型系统 hibernate类型系统分为3类:实体、值类型和映射类型 实体:实体类型具有标识符属性的类,可能处于三种周期状态:瞬时、托管,持久化。 值类型:不具有标识符属性,其生命周期完全有自己的实体实例的生命周期决定。 二、映射集合和实体关联 1.值类型的映射关系:set、bag、list和map (1)Set @org.hibernate.annotations.CollectionOfElements(targetElement = java.lang.String.class) @JoinTable( name = "ITEM_IMAG ...
1.     1.  Hibernate通过@Id指定主键来表示实体的同一性,@Id注解的位置,决定了对实体使用字段访问(持久化引擎直接访问)还是属性访问(通过获取方法与设置方法访问)。 持久化的类。2.       当一个表的列较多时可以启用动态语句,避免hibernate在省城SQL语句时更新所有列。可以通过以下方式实现:@org.hibernate.annotations.Entity(dynamicInsert =true, dynamicUpdate = true)4.       hibernate使用衍生属性:该属性没有列属性,不会出现在SQL的INSERT或者UPDATE中 ...
最近学习springMVC部署,按照教程建议一个项目,去发现报错,如下: HTTP Status 500 - Unable to compile class for JSP: type Exception report message Unable to compile class for JSP: description The server encountered an internal error that prevented it from fulfilling this request. exception org.apache.jasper.Jasp ...
package algorithm.unit1; import java.util.Arrays; /** * Created by lwb on 2015/3/13. */ public class Array { /** * 获取数组最大值 */ public static double getMax(double[] array) { double max = array[0]; for (int i = 0; i < array.length; i++) ...
          过两天就是2015元旦了,今天叫上本科的几个同学,大家一起吃个饭,聚了一下。虽然都还没有毕业,但大家之间差别也已经开始显现出来。班长作为带头人已经结婚,两个同学还在读博士,另外几个同学也已经在北京找到了不错的工作,看了大家都作长远的打算啊,和我一样都找了有户口的工作。另外两个同学打算离开北京,也都找到了不错的工作。还有宝哥作为唯一一个本科毕业就去某度做了pm现在已经30+的年薪,在北京都买房了,果断为大家带了个好头。。。           想想这一年来在研究所里,虽然过得还算轻松惬意,但和大家交谈发现,自己还是过于懒惰了,上半年对自己的缺乏要求,忙于室里的项目,除了上班 ...
一、什么情况下考虑使用“模板方法模式”?                   当我们设计一个算法时,如果已经确定了算法的关键步骤和执行顺序,只是算法步骤的具体实现需要根据不同的情况,具体分配,此时我们可以考虑使用“模板方法模式”。          模板方法模式的概念:          在一个方法中定义个算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些步骤。                其中AbstractClass中templateMethod()中,调用了调用了两个原语操作。这样就可以实现模板方法本身和这两个操作 ...
一、什么情况下考虑使用“适配器模式”?         adapter的意思:device that enables something to be used in a way different from that for which it was intended or makes different pieces of apparatus compatible .        当我们已有的类实现的接口不能满足现有的需要,需要将类的接口转变为想要的接口,此时我们可以装饰者模式来达到这个目的。         装饰者模式的概念:         将一个类的接口转换为客户期望的 ...
一、什么情况下考虑使用“命令设计模式”?                  当我们考虑的场景中需要“动作的请求者”与“动作的执行者”之间解耦,也就是说动作的发起端不必知道动作是如何执行的,只需要下达“命令”就可以执行相应的动作,相当于把方法的调用也封装了起来,只需要对“命令对象”调用统一的方法,然而“命令对象”会知道如何执行相应的方法。         命令模式中的一些概念:                 命令模式:将“请求”封装成对象,以便使用不同的请求、队列或者日志来参数化其他对象。命令模式也只支持可撤销的操作。         命令对象:将动作以及接收者包装成一个对象, ...
一、什么情况下考虑使用“单例模式”?                   单例模式使得一个类在任何情况下只有一个对象,通常当需要一个类来管理共享的资源(例如:线程池、注册表,缓存等)可以使用单例模式,因为我们需要 ...
一、什么情况下考虑使用“装饰者模式”?        当我们需要将责任动态的附加到对象上的时候;也就是说,我们开发设计的对象中有某一部分的功能现在还不能确定,以后需要动态的添加或者去掉。或者是在使用继承比较困难的时候,可以采用组合的实现方式(继承与复用)。         结合下面一个实际可能应用的场景来进行分析:          此为某一咖啡店的简单的菜单系统,其中所有的咖啡必须继承自Beverage类,咖啡中需要根据顾客的要求,加入巧克力、豆浆等调料,然后依据加入的调料的不同收取相应的费用。        eg:菜单上的StarbuzzCoffee实际为:HouseBlen ...
一、什么情况下考虑使用“观察者设计模式”?   观察者设计模式定义了对象之间的一对多的依赖关系,当主题对象改变状态时,它的所有观察者都会收到通知并且自动更新。 来具体分析一下下面的一个应用场景:        ...
设计原则一:找出应用中可能需要变化的部分,把它们独立出来,不要和不需要变化的代码混在一起。         当我们的需求改变时,需要修改某一部分的代码,可以将这一部分的代码抽取出来,如果以后再次发生变化,可以只修改抽取出来的代码,而不必修改其他的代码。设计原则二:针对接口编程,而不是针对实现编程。        利用java中多态的特性,针对超类型的编程,而不必关心具体执行时真正对象的类型。 设计原则三:为了交互对象之间的松耦合设计而努力。         松耦合设计,指我们在需要修改一些模块时,不会对其他模块产生影响。 设计原则四:类应该对扩展开发,对修改关闭   设计原则五:最 ...
                数组与其他种类的容器之间的区别主要有三方面:效率、类型和保存基本数据的能力。现在Java中的容器具有自动包装的功能,使得容器与数组看起来二者之间的区别更小了。在java中数组就是一个简单的线性序列,所以在访问数组的元素师非常的快速,然而这些所必须付出的代价就是数组对象的大小是固定的,而且在其生命周期内是不可以被改变的。        我们在前面提到了泛型,由于擦除会擦除掉运行时泛型的参数信息,然而数组必须要知道保存在其中的类型信息,所以数组与泛型并不能很好的结合,例如我们不能实例化具有参数化类型的数组: public class Test<T> ...
                 这几天粗略的学习了java中的泛型,勉勉强强的把书中“泛型”这一章看完,其中很多的概念还不甚理解,这里只是简单的说一下自己所了解的泛型,不正确的地方还请大家指正。          泛型是JAVA SE5之后才出现的概念,“泛型”其实就是指类型的参数化。我们知道Java是单继承体系的,这就使得我们在编写程序时,很容易受到限制,不能实现代码的复用。泛型一个重要的应用就是实现了“容器类”,如果不使用泛型,我们只能编写下面的程序:   public class Holder { private Object a; public Holde ...
                 这次主要学习java是如何在运行时识别对象和类的信息的。主要包括了两种方式:①RTTI(Run-Time Type Information)②反射。它们都可以使我们在运行时能够识别对象的类型信息。         首先我们应当知道类型信息在java中是如何表示的。我们可以看到一个java类进行编译时会产生一个同名的class文件,这里就保存着该java类对应的Class对象,Class对象可以用来创建其他的对象以及类的RTTI。所有的类在第一次被使用时都会被加载到JVM中,但我们需要注意的是Java程序在开始运行之前并不是被完全加载的而是动态加载的。获取C ...
Global site tag (gtag.js) - Google Analytics