基本上都是以前看书后写下的笔记和实践操作的记录。   一、关于查询迭代函数list.iterator(),Query.iterate()的比较用hibernate进行查询,然后对查询结果进行迭代,有两种实现方法:1、List ls = session.createQuery("...").list();Iterator iter = ls.iterator();while(iter.hasNext()){//...Object obj = (Object)iter.next();//以对象形式返回结果//...}2、Iterator iter = session.createQu ...
闲着没事做,整理了hibernate持久化对象操作相关内容,供大家参考。   一、由session缓存清理操作引起的问题(一)session在一下不同的情况下进行清理操作:1、在查询执行之前,如果发现缓存中的持久化对象属性发生了变化,session会先执行清理,保证查询的数据不脏数据。2、在调用事务提交commit()的时候,commit()方法先清理缓存,然后再向数据库提交事务3、调用session.flush()的时候,(与commit不同的是,flush()只是执行清理工作)。(二)session执行清理sql语句的顺序1、所有对持久对象进行插入的语句,其顺序按照调用ses ...
      最近闲着没事,就整理了hibernate的一些东西,供大家参考。一、一对一关联在hibernate中的实现一对一关联有两种实现方法:主键关联和外键关联。主键关联是使两个表共享一个主键。比如,有表A和B,表A的主键为aid,那么表B 就把A的主键aid同时作为主键和外键使用。A的映射文件:<class name="A" table="A">        <id name="aId" type="java.lang.String">&nbs ...
      NULL Object空对象模式:当你在处理可能会出现null的对象时,可能要产生相对乏味的代码来做相应的处理,使用空对象模式可以接受null,并返回相应的信息。      空对象模式通常会作为一个单独的空对象类,封装一个默认的行为。 Interface Log{public void log();} class FileLog extends Log{public void log(){}} class ConsoleLog extends Log{public void l ...
      proxy代理模式,其意图是"为其他对象提供一种代理以控制对这个对象的访问",通俗的讲就是,一个类A请一个代言人C去跟另一个类B打交道。在"四人帮"的《设计模式》中代理一章有关代理的"动机"的那节,举文档编辑器加载图像为例,说得很形象、透彻。       根据不同的用途,proxy代理模式又可以分为:远程代理、虚代理、访问控制(保护)代理、引用代理、审计代理、同步化代理、copy-on-write代理、缓存代理。      ...
      visitor访问者模式的意图,在《设计模式》里这样描述:“表示一个作用于某个对象结构中的各元素的操作。它使可以在不改变各元素的类的前提下定义作用于这些元素的新操作。”。就是说:在坚持“开闭原则”的情况下,访问者可以用来扩展一个现有的类层次结构来实现新的行为。更通俗的讲,如果不愿意修改类层次结构内部代码或者类层次结构的代码难以修改的情况下,如果该类层次结构在设计实现时使用了visitor访问者模式,那么可以实现“在不修改类层次结构代码的前提下”进行扩展。 &n ...
linbzh
搜索本博客
存档
最新评论