随笔分类 -  hibernate

摘要:通过sql语句查询出来的结果字段没有到对应实体类时的处理方法,对于Person类获取用户第一个名字和年龄两个字段,常见的有两种方式: 1、在创建一个与查询结果字段对应的类,然后通过构造函数实现: Query query = em.createQuery("select new com.ejb.bean.SimplePerson(p. firstname, p.age) from Person p "); 2、通过sql语句将查询结果放到Object数组中,然后再获取一个List集合,里面存放的是Object数组: Query query = em.createNativeQ 阅读全文
posted @ 2013-11-18 10:41 若 ♂ 只如初见 阅读(3024) 评论(0) 推荐(0)
摘要:构造SQL 语句:String sql = "select id,name,age,gender,birth from student where name like ?"; 参数设值:PreparedStatement ps = conn.PreparedStatement(sql);String str = getName();ps.setString(1,"%" + str + "%"); 阅读全文
posted @ 2013-10-08 14:36 若 ♂ 只如初见 阅读(849) 评论(0) 推荐(0)
摘要:Hibernate中对象的三种状态及相互转化 1.瞬时状态(Transient)当我们通过Java的new关键字来生成一个实体对象时,这时这个实体对象就处于自由状态,如下:Customer customer=new Customer(“zx”,27,images);这时customer对象就处于自由状态,为什么说customer对象处于自由状态呢?这是因为,此时customer只是通过JVM获得了 一块内存空间,还并没有通过Session对象的save()方法保存进数据库,因此也就还没有纳入Hibernate的缓存管理中,也就是说 customer对象现在还自由的游荡于Hibernate缓存管 阅读全文
posted @ 2013-08-06 15:05 若 ♂ 只如初见 阅读(398) 评论(0) 推荐(0)
摘要:1 getCurrentSession创建的session会和绑定到当前线程,而openSession每次创建新的session。2 getCurrentSession创建的线程会在事务回滚或事物提交后自动关闭,而openSession必须手动关闭这里getCurrentSession本地事务(本地事务:jdbc)时 要在配置文件里进行如下设置 * 如果使用的是本地事务(jdbc事务)thread* 如果使用的是全局事务(jta事务)jtagetCurrentSession () 在事务结束之前使用当前的sessionopenSession() 每次重新建立一个新的session在一个应用程序 阅读全文
posted @ 2013-07-12 13:58 若 ♂ 只如初见 阅读(302) 评论(0) 推荐(0)
摘要:2010-12-05 23:38:41|引用:http://zhaohe162.blog.163.com/blog/static/38216797201011511384122/Spring为Hibernate的DAO提供工具类:HibernateDaoSupport。该类主要提供了两个方法:public final HibernateTemplate getHibernateTemplate() public final void setSessionFactory(SessionFactory sessionFactory) 其中,setSessionFactory方法接收来自Spring 阅读全文
posted @ 2013-03-20 18:49 若 ♂ 只如初见 阅读(265) 评论(0) 推荐(0)