2013年12月26日
摘要: hibernate的实体都是存储在缓存中的,所以你会发现有的时候当你创建出两个主键相通的实体的时候会报错。正常情况是当你调用save方法的时候,这个实体对象未必已经保存到数据库了,调用close方法的时候,对象才真正保存如数据库。当你调用flush方法的时候是强制将对象保存到数据库。 举例如下:Hncitem05 hh = this.hibernateTemplate.get(Hncitem05.class, h.getSno()); hh.setSname(h.getSname());hh.setBate(h.getBate());this.hibernateTemplate.update( 阅读全文
posted @ 2013-12-26 14:25 凯特的宝贝世界 阅读(1465) 评论(0) 推荐(0) 编辑
摘要: 一、query方式1、hibernate使用原生态的sql语句执行数据库查询有些时候有些开发人员总觉得用hql语句不踏实,程序出现了错误,就猜测因为不是原生态的sql语句,数据库不支持,因此情愿选择回到jdbc时 代。这样既耗时耗力,又破坏面向对象的编程。其实,hibernate已经考虑到这个问题,hibernate可以执行原生态的sql语句,正对每种数据 库,你可以写对应的sql语句,然后用createSQLQuery(sql)即可。 /** * 本地sql的检索方式,使用原生态的sql语句检索 * */ Session session = this.getSession(... 阅读全文
posted @ 2013-12-26 14:21 凯特的宝贝世界 阅读(282) 评论(0) 推荐(0) 编辑
摘要: private HibernateTemplate hibernateTemplate;使用HbernateTemplateHibernateTemplate提供持久层访问模板化,使用HibernateTemplate无须实现特定接口,它只需要提供一个SessionFactory的引用,就可执行持久化操作。SessionFactoyr对象可通过构造参数传入,或通过设值方式传入。如下://获取Spring上下文ApplicationContext ctx = newFileSystemXmlApplicationContext("bean.xml");//通过上下文获得Ses 阅读全文
posted @ 2013-12-26 14:17 凯特的宝贝世界 阅读(454) 评论(0) 推荐(0) 编辑