hibernate访问数据库方式
2015-09-29 15:49
351 查看
一般我们 访问数据库 有两种选择 :
getSession().createQuery(“from User”);
getHibernateTemplate().find( ”FROM User);
(1)getSession()和getHibernateTemplate都可以自动释放连接(当然你的配置要正确),但是在一个线程内 getSession会get很多个session(就是开很多个会话、连接),很可能导致数据库连接超过上限。所以推荐使用 getHibernateTemplate。
(2)如果有些语句无法用getHibernateTemplate实现,可以使用 getHibernateTemplate.execute使用 HibernateCallback回调接口。另:可以设定HibernateTemplate的AllowCreate为True,并在finally 中关闭Session。也可以将true作为参数传递到super.getSession(..)方法中取得Session。这样也可以,就是麻烦点。
getSession().createQuery(“from User”);
getHibernateTemplate().find( ”FROM User);
(1)getSession()和getHibernateTemplate都可以自动释放连接(当然你的配置要正确),但是在一个线程内 getSession会get很多个session(就是开很多个会话、连接),很可能导致数据库连接超过上限。所以推荐使用 getHibernateTemplate。
(2)如果有些语句无法用getHibernateTemplate实现,可以使用 getHibernateTemplate.execute使用 HibernateCallback回调接口。另:可以设定HibernateTemplate的AllowCreate为True,并在finally 中关闭Session。也可以将true作为参数传递到super.getSession(..)方法中取得Session。这样也可以,就是麻烦点。
相关文章推荐
- Oracle VM Virtual中CentOS自动获取IP地址设置方法
- Oracle VM Virtual中CentOS自动获取IP地址设置方法
- MySQL用户与权限管理
- StackExchange.Redis 使用-同步 异步 即发即弃 (三)
- Zabbix监控mysql
- MySQL复制详解
- SQL SERVER批量修改表名前缀
- plsql DEVELOP 链接数据库网上所有方法都试了 ,可能你需要 管理员模式运行。。。。win8
- [转]避免误用 Redis
- mysql服务性能优化—my.cnf配置说明详解(16G内存)
- mysql中文字段转拼音首字母,以及中文拼音模糊查询
- mysql和连接相关的timeout
- MySQL 5.6 my.cnf 参数说明
- 10天学通MongoDB---资料链接-----阿冬专栏
- Mysql查询缓存碎片、缓存命中率及Nagios监控
- MySQL服务器端参数详解和优化建议
- mysql delayed 延迟插入和参数DELAY_KEY_WRITE
- oracle查询某个用户下的所有视图
- sql里的ROW_NUMBER() OVER是啥意思?
- MySQL索引:查看、创建、删除、使用技巧