请问如何拦截hibernate的load(userId)操作?
我想在hibernate之前加一个自己的数据缓存层,而不用hibernate自身的缓存,或第三方(如ehchace,原因多多).
可不知道表关联如何处理,如果user和city关联,只要在配置文件里设置好了。user.getCity,即可得到相应的city.
但是,我希望的是,如果该city已经在数据缓存池内存在了,则去缓存池里取,而不要从数据库里读取.
请问hibernate.Interceptor能实现这个功能吗?
小弟想实现的功能是:
当hibernate底层load(key)的时候,拦截一下,如果我自己的缓存池里已经有这个key对象了,则阻止hibernate向数据库查询,并且返回相关的对象;如果没有,则由hibernate执行查询,并将查询的结果,按key存入数据缓存池.