学习HibernateinAction读书笔记

来源:java认证发布时间:2012-11-12 12:48:25java认证视频


  
  输出结果:
  
  1 message(s) found:
  
  Hello World
  
  4.简单的XML映射文件
  "-//Hibernate/Hibernate Mapping DTD//EN"
  
  "http://hibernate.sourceforge.net/hibernate-mapping-2.0.dtd">
  
  name="hello.Message"
  
  table="MESSAGES">
  
  
  name="id"
  
  column="MESSAGE_ID">
  
  name="text"
  
  column="MESSAGE_TEXT"/>
  
  name="nextMessage"
  
  cascade="all"
  
  column="NEXT_MESSAGE_ID"/>
  
  这个映射文件告诉Hibernate,Message这个类是持久化的MESSAGES这张数据库表,identifier属性对应的是表中的MESSAGE_ID字段,text属性对应的是MESSAGE_TEXT字段,nextMessage是一个多对一的关联,对应的是NEXT_MESSAGE_ID字段。
  
  上面这个文件可以手工编写,也可以借助第三方工具生成。
  
  5.更新一条信息
  下面让我们修改一下刚才存到数据库里面的第一条信息。
  
  Session session = getSessionFactory().openSession();
  
  Transaction tx = session.beginTransaction();
  
  // 1 is the generated id of the first message
  
  Message message =
  
  (Message) session.load( Message.class, new Long(1) );
  
  message.setText("Greetings Earthling");
  
  Message nextMessage = new Message("Take me to your leader (please)");
  
  message.setNextMessage( nextMessage );
  
  tx.commit();
  
  session.close();
  
  这段代码等同以下三个SQL语句所要实现的东西:
  
  select m.MESSAGE_ID, m.MESSAGE_TEXT, m.NEXT_MESSAGE_ID
  
  from MESSAGES m
  
  where m.MESSAGE_ID = 1
  
  insert into MESSAGES (MESSAGE_ID, MESSAGE_TEXT, NEXT_MESSAGE_ID)
  
  values (2, 'Take me to your leader (please)', null)
  
  update MESSAGES
  
  set MESSAGE_TEXT = 'Greetings Earthling', NEXT_MESSAGE_ID = 2
  
  where MESSAGE_ID = 1
  
  再次运行“Hello World”,输入信息如下:
  
  2 message(s) found:
  
  Greetings Earthling
  
  Take me to your leader (please)
  
  *补充,在Hibernate中最核心的五个接口:
  
  Session接口:这是Hibernate中一个主要的接口,Session接口的建立和消毁都是轻量级并且耗费资源很少的。这一点很重要,因为在我们的应用,我们每时每刻都在做着Session的create和distroy工作。它不是线程安全的,原则上它应该设计成一个时间只有一个Session才对。Session可以加载一个与一个工作流相关的对象,它可以监测着这个对象的变化,它被称之为持久对象的管理器,当我们要对数据对象进行编辑操作时,就要调用它了。
  
  SessionFactory接口:我们请求一个Session实例,就是从SessionFactory中取得了。当然SessionFactory就不是个轻量级的东西了,它被多个应用的线程所共享。如果你通过Hibernate访问多个数据库,就要为每一个数据库建立一个SessionFactory。在Hibernate的运行时,SessionFactory缓存了SQL段和其它的中介映射数据。它也保持one unit of work正在读取的数据和将来可能被用到的数据。
  
  Configuration接口:Configuration用于指定一个应用所使用的映射文件的地址和Hibernate指定的属性文件,然后建立一个SessionFactory。
  
  Transaction接口:
  
  Query and Criteria接口:

上一页12下一页

视频学习

我考网版权与免责声明

① 凡本网注明稿件来源为"原创"的所有文字、图片和音视频稿件,版权均属本网所有。任何媒体、网站或个人转载、链接转贴或以其他方式复制发表时必须注明"稿件来源:我考网",违者本网将依法追究责任;

② 本网部分稿件来源于网络,任何单位或个人认为我考网发布的内容可能涉嫌侵犯其合法权益,应该及时向我考网书面反馈,并提供身份证明、权属证明及详细侵权情况证明,我考网在收到上述法律文件后,将会尽快移除被控侵权内容。

最近更新

社区交流

考试问答