hibernate集成】的更多相关文章

主要讨论Spring与Hibernate集成中的session问题 1.通过getSession()方法获得session进行操作 public class Test extends HibernateDaoSupport{ public void save(User user){ this.getSession().save(user); } } 利用这种方式获得的session在方法执行结束之后不会自动关闭连接,也就是说我们必须通过session.close()或者releaseSessio…
ehcace是现在非常流行的缓存框架,有轻量.灵活.可扩展.支持集群/分布式等优点. 在项目中,使用ehcace可以对数据进行缓存(一般使用.基于注解.基于aop),使用filter可以对页面进行缓存(SimplePageCachingFilter过滤器),与hibernate整合可以对对象进行缓存(二级缓存.查询缓存). 简单的说使用缓存的方式主要分为数据层缓存.服务层缓存和页面缓存三种,它们一层比一层高效,实现也越来越复杂,在实际应用中最好能在尽量靠近用户的地方缓存,减少之后各层处理的压力,…
hibernate是一个优秀的持久化框架负责简化将对象保存到数据库中,或从数据库中读取数据并封装到对象的工作.hibernate通过简单配置和编码即可替代jdbc繁琐的程序代码. 下面是集成hibernate的具体步骤 下载hibernate的.jar包并在项目中进行引用 在classpath下创建并编写hibernate.cfg.xml配置文件   <?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configurat…
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p&q…
1:get/load存取单条数据 public Teacher getTeacherById(Long id) { return (Teacher)this.hibernateTemplate.get(Teacher.class, id); } public Teacher getTeacherById(Long id) { return (Teacher)this.hibernateTemplate.load(Teacher.class, id); } 2:find/iterate查询操作 p…
spring+hibernate,采用声明式事务 1.声明式事务配置 * 配置SessionFactory * 配置事务管理器 * 事务的传播特性 * 那些类那些方法使用事务 2.编写业务逻辑方法 * 继承HibernateDaoSupport类,使用HibernateTemplate来持久化,HibernateTemplate是  Hibernate Session的轻量级封装 * 默认情况下运行期异常才会回滚(包括继承了RuntimeException子类),普通异常是不会滚的 * 编写业务…
一.将 Ehcache.xml 放到 classpath 下 <?xml version="1.0" encoding="UTF-8"?> <ehcache> <!--磁盘存储:用来指定缓存在磁盘上的存储目录. 可以使用JavaVM环境变量(user.home, user.dir, java.io.tmpdir)--> <diskStore path="d:/ehcache/"></diskS…
源码:http://pan.baidu.com/s/1i4xVLE9(百度云) 步骤:一.创建数据库(mysql) 二.导入相应jar包(注意不同数据库jdbc.jar包)配置web.xml.spring.Hibernate 三.编写测试类 说明:各配置文件应正确指向,否则容易产生找不到sessionfactory的错误. 本文各配置文件的指向关系: 具体步骤: 一.创建数据库(mysql),记住数据用户名,密码. 二.配置web.xml.spring.Hibernate 1.web.xml <…
@Transactional标签用于标记ServiceImpl使用事务,并且能够打开一个sessionFactory的session,并且打开事务. 如果在这个标签为@Transactional(propagation = Propagation.NOT_SUPPORTED),就不打开session了,自然也不会打开事务,你要自己打开并且维护它,关闭session,在session范围内更改了对象的值,他也不会相应的更新到数据库中(前提是你没有打开事务). @Service @Transacti…
开发一个大一点的项目有很多的hbm.xml文件,有时候上百个也不稀奇,如果用 <property name="mappingLocations"> <list> <value>com/tz/entity/Student.hbm.xml</value> </list> </property> 那么每一个hbm.xml文件都要配置一行代码,一百个hbm.xml就要写100行 文件让程序 的可读性,可维护性都变都非常差.…