-
Hibernate4 No Session found for current thread原因
Hibernate4 与 spring3 集成之后, 如果在取得session 的地方使用了getCurrentSession, 可能会报一个错:“No Session found for current thread”, 这个错误的原因,网上有很多解决办法, 但具体原因的分析,却没有多少, 这里转载一个原理分析
Date: 2014-01-22 View: 72780
-
Hibernate 使用log4j,sl4j 记录日志并记录sql 语句参数的值
在Hibernate内部使用slf4j 来处理日志,所以在配置Hibernate日志的时候,slf4j 是必不可少的jar包, 严格说了slf4j 只是一个日志接口,可以由很多其它三方的 jar 来实现,比如用log4j实现等, 对于日志的配置应该都知道怎么配了,但是经常在日志中看到类似如下的语句:insert into stock (STOCK_CODE, STOCK_NAME) values (?, ?) , 里面全部是参数化的“?” 号, 然后这些值并没有打印出来,对于查看日志来说,还是有些不方便,怎么在日志中打印出这些参数值呢,是可以通过log4j 的配置做到的。
Date: 2014-01-20 View: 4873
-
Hibernate4 拦截器(Interceptor) 实现实体类增删改的日志记录
开发应用程序的过程中,经常会对一些比较重要的数据修改都需要写日志。在实际工作的工程中,这些数据都是存在表中的, 一个常见的做法是用触发器,在增删改的时候,用触发器将数据写入到另一张表中去,但个人不推荐这么做,原因如下:1. 如果有多个表,得写很多触发器。2. 触发器与数据库特性关联太紧,不同的数据库,虽然思路一样,但语法却不太一样。对数据库表操作的日志记录,完全可以利用Hibernate的Interceptor特性来实现,也就是拦截器。下面用一个具体的例子来说明如何使用Hibernate的Interceptor。
Date: 2014-01-19 View: 11681
-
Hiberante4 原生SQL查询 例子
用hibernate4, 完全用ORM 做项目,原则上可以,其实有时候没有必要, 我见过有的项目为了取一个表的一条数据,而且只有一个字段的查询,居然也用hibernate 去做,更绝的是,这个查询里面还配置了 one to many 等关联,而且FetchType也不是lazy, 有必要这么做吗?我不是完全否决hibernate ,但用查询的时候,要注意什么时候该用Hibernate orM 去查,什么时候该自己去写 native sql 去查。
Date: 2014-01-16 View: 4521
-
Hibernate 使用 C3P0 连接池
连接池对于提高性能来说是个不错的选择, 特别是对于频繁创建连接关闭连接的程序来说,尤其如此,因为减少了没一次连接都需要创建连接和销毁连接的时间。hibernate 推荐使用 C3P0 连接池.
Date: 2014-01-13 View: 4301
-
java 自定义注解 (custom annotation)
最近几年写程序,越来越流行注解方式,比如 spring,hibernate 都从原来的xml配置方式转向了注解方式,原因在于写注解很方便,减少了XML 文件的配置,如果全部用XML 配置,一个大型的应用,怎么也得有成百上千的XML文件。那么怎么自定义类似于spring 的注解方式呢。
Date: 2014-01-12 View: 3793
-
java 获取HttpRequest Header 的几种方法
在开发应用程序的过程中,如果有多个应用,通常会通过一个portal 门户来集成,这个portal 是所有应用程序的入口,用户一旦在portal 登录之后,进入另外一个系统,就需要类似的单点登录(SSO). 进入各个子系统的时候,就不需要再次登录, 当然类似的功能,你可以通过专业的单点登录软件来实现,也可以自己写数据库token 等方式来实现。其实还有一个比较简单的方法,就是通过 portal 封装已经登录过的用户的消息,写到http header 之中,然后把请求forward 到各个子系统中去,而各子系统从 http header 中获取用户名,作为是否登录过的校验或者合法的校验。总结了几种处理http Header 的方法
Date: 2014-01-09 View: 10007
-
spring mvc inteceptor 拦截器实现计算controller 的执行时间
最近在做一个程序的性能测试分析,UAT 压力测试感觉比较慢,但又没有系统的测试真正的瓶颈在什么地方,客户也不愿意花时间去专业的测试,就用chrome浏览器,看timeline 测试,很笨吧,没办法,客户就这么干,期间也用过jmeter测试,但也只是说结果不理想,也没给出具体的参数。一个真正好的完整的测试,应该包括从发起请求开始,DNS 解析,路由寻址时间,http server 响应时间,应用程序处理时间,包括数据库执行时间,以及IO 分析,当然网络带宽也要分析。由于我们是负责程序部分的,所以程序执行时间部分的操作日志由我们自己来负责分析,用到spring mvc写的程序,所以理所当然的想到用spring inteceptor 来实现,具体看每个controller 的执行时间是多少,这中间包括了数据库部分。
Date: 2014-01-07 View: 6395
-
Hibernate4 一对一双向主键关联测试例子(xml 配置方式)
一对一映射是最基本的对象之间的关系之一,严格的说来一对一有一下几种对应关系:1, 一对一 单向关联(分主键,外键两种)2, 一对一 双向关联(主键,外键两种)3, 还可以采用中间表方式来实现,但一般不使用,先直接看看双向主键关联的测试.
Date: 2014-01-06 View: 3891
-
Hibernate4 mysql 采用注解(annotation)方式配置入门例子
前面的例子中记录了利用传统的hibernate XML 隐射方式配置, 但这种处理方式在近几年已经不流行了,因为要维护太多的XML 配置文件,而且修改之后还得重启应用服务器。近年流行的是用注解方式写程序, 直观,对程序员来说更容易维护,代码更少。所以在前一个例子的基础上,改写成hibernate 注解方式.
Date: 2014-01-05 View: 6781
-
Hibernate4 mysql 采用XML 配置方式入门例子
温故而知新, 既然hibernate4 已经出来了,就把以前hibernate3 的例子重新修改一下,再跑一遍,检验下有什么新的变化, 以前没有记录笔记的习惯,现在记录下来.
Date: 2014-01-05 View: 5311
-
HibernateUtil工具类在hibernate3下与hibernate4下的区别
以前一直在用Hibernate3 做应用系统,包括目前很多应用程序都是基于Hibernate3 写的,不过 Hibernate 4 都出来好久了,今天下载Hibernate 4.3 Final 版本,下来玩了一下, 发现 得到 sessionFactory 的方法过失了,虽然还是能用,但总感觉不爽. 所以看了下怎么写Hibernate4下的 Util类
Date: 2014-01-02 View: 8682
-
自定义ehcache工具类实现缓存
缓存是为提升性能而开辟的内存空间, 其主要目的是暂存数据的处理结果,以供下次使用。缓存的使用很多,比如浏览器会缓存网页,在服务器后台的API 中加入缓存提高系统的性能,在常用的开发中,经常会用到hibernate, hibernate 开启二级缓存就有可能用到ehcache, 当然现成的缓存框架很多,比如:ehcache,oscache,jboss cache等。这些缓存框架其实也是可以单独使用的。比如下面用使用ehcache 做的缓存。
Date: 2013-12-30 View: 4087
-
spring security JDBC 数据库实现,5个表, 例子下载
在前面用 srpng security hibernate, mysql 做了一个简单的例子,仅仅用户和和角色,用户与角色的关系用数据库来保存,而对资源管理仍然用XML 配置方式来实现,对于某些特殊要求的项目来说,仍然没办法满足要求,于是就有了5张表的 Spring security 的扩展实现。在网上参考过别人很多文章以及博客,但总是没怎么成功过,关键是人家也不提供整个代码下载,所以很多细节不知道。好不容易试验出来,特地放出代码在本文最后下载。
Date: 2013-12-26 View: 6025
-
spring security 教程入门
spring security 是一个方便的,强大的基于java web 应用的权限框架。总结了入门的一些列文章,以后更新都在这里.
Date: 2013-12-21 View: 8883