随笔分类 - Hibernate
摘要:先看写代码的方法:@Test public void testUpdate3() { Teacher t = new Teacher(); t.setId(1);//指定了主键也可以直接更新 t.setName("zhanglaoshi"); Session session2 = sessionFactory.getCurrentSession(); session2.beginTransaction(); session2.update(t); session2.getTransaction().commit(); }...
阅读全文
摘要:@Test public void testLoad() { Session session = sessionFactory.getCurrentSession(); session.beginTransaction(); Teacher t = (Teacher)session.load(Teacher.class, 1);//生成的是一个代理对象...
阅读全文
摘要:Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。 瞬时态 由new命令开辟内存空间的java对象, eg. Person person = new Person("xxx", "xx"); 如果没有变量对该对象进行引用,它将被java虚拟机回收。 瞬时对象在内存孤立存在,它是携带信息的载体,不和数据库的数据有任何关联关系,在Hibernate中
阅读全文
摘要:xml方式处理联合主键: 以有两个主键:id和name的student表为例。 先创建个主键类: package com.bjsxt.hibernate; //黑色为必写项 public class StudentPK implements java.io.Serializable{ private int id; private Strin...
阅读全文
摘要:在SessionFactory启动的时候,Hibernate会根据配置创建相应的CurrentSessionContext,在getCurrentSession()被调用的时候,实际被执行的方法是CurrentSessionContext.currentSession()。在currentSession()执行时,如果当前Session为空,currentSession会调用SessionFactory的openSession。所以getCurrentSession()对于Java EE来说是更好的获取Session的方法。
阅读全文
摘要:来自API: 1.2.5. 启动和辅助类 是时候来加载和储存一些Event对象了,但首先我们得编写一些基础的代码以完成设置。我们必须启动Hibernate,此过程包括创建一个全局的SessoinFactory,并把它储存在应用程序代码容易访问的地方。SessionFactory可以创建并打开新的Session。一个Session代表一个单线程的单元操作,SessionFactory则是个线...
阅读全文
摘要:jar包不能少:F:\jars\slf4j-api-1.7.5.jar F:\strutsWsold\slf4j-1.7.5\slf4j-1.7.5\slf4j-log4j12-1.7.5.jar F:\log4j-1.2.17\log4j-1.2.17.jar 第一个是slf接口jar,第二个是slf和log4j接口中转jar,第三个是log4j实现jar。 需要在...
阅读全文
摘要:首先要导入包,将下载的hibernate所有required包导入,将下载的hibernate用来写log的slf4j的api和nopjar包导入,将下载的mysql链接引擎jar包导入。然后新建java工程。先告诉hiernate怎么连数据库:在hibernate默认识别目录src根目录下以默认hibernate配置文件名hibernate.cfg.xml建立xml(都采用默认可以省去在代码中书写路径和名字的麻烦): com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/hibernate root m...
阅读全文

浙公网安备 33010602011771号