Hibernate
coffeeyao888
这个作者很懒,什么都没留下…
展开
-
Hibernate 与 Spring 多数据源的配置
Spring2.0.1以后的版本已经支持配置多数据源,并且可以在运行的时候动态加载不同的数据源。通过继承AbstractRoutingDataSource就可以实现多数据源的动态转换。目前做的项目就是需要访问12个数据源,每个数据源的表结构都是相同的,所以要求数据源的变动对于编码人员来说是透明,也就是说同样SQL语句在不同的环境下操作的数据库是不一样的。具体的配置如下: 一、首先需要写一个静态的键...原创 2009-09-15 14:41:36 · 70 阅读 · 0 评论 -
理解Hibernate中PO的代理类
理解一下Hibernate中动态类与load()和get()方法区别 LoadCustomer customer=(Customer)session.load(Customer.class,new Long(1));当我们执行session的load()方法时,hibernate不会去查询数据库,它相信数据库中已经存在此条数据,会先到session缓存中查找此ID的对象或者代理类,...原创 2011-05-27 12:23:55 · 118 阅读 · 0 评论 -
Hibernate在oracle中ID增长的两种方式(转)
根据hibernate的文档,有两种方式实现实体对象的主键自动增长。 第一种:设置ID的增长策略是sequence,同时指定sequence的名字,最好每个表建一个sequence,此种做法就如同MS-SQL,MY-SQL中的自动增长一样,不需要创建触发器,具体的oracle数据库脚本及hibernate配置文件如下: [1]oracle数据表的创建脚本: Java代码Java代码 ...原创 2010-10-20 13:49:37 · 85 阅读 · 0 评论 -
HQL常用查询语句(转)
1. 查询整个映射对象所有字段//直接from查询出来的是一个映射对象,即:查询整个映射对象所有字段 String hql = "from Users"; Query query = session.createQuery(hql); List<Users> users = query.list(...原创 2010-10-20 10:20:07 · 112 阅读 · 0 评论 -
Hibernate中一级缓存和二级缓存区别(转)
缓存是介于应用程序和物理数据源之间,其作用是为了降低应用程序对物理数据源访问的频次,从而提高了应用的运行性能。缓存内的数据是对物理数据源中的数据的复制,应用程序在运行时从缓存读写数据,在特定的时刻或事件会同步缓存和物理数据源的数据。 缓存的介质一般是内存,所以读写速度很快。但如果缓存中存放的数据量非常大时,也会用硬盘作为缓存介质。缓存的实现不仅仅要考虑存储的介质,还要考虑到管...原创 2010-10-18 15:37:28 · 64 阅读 · 0 评论 -
Hiberante中LAZY的疑惑
用户User与Role,Resource关联都是lazy,而使用Spring Security时,用户登陆成功需要预先取得User的所有权限资源,项目的写法是:List<User> userList = userDAO.find("select distinct u FROM User u left join fetch u.roles r left join fetch r.re...原创 2010-10-08 09:28:05 · 71 阅读 · 0 评论 -
HQL中使用to_number()中的错误
项目中要取得某个表中最大的数字(字段类型定义是字段串),使用select max(t.number) from test t 时大于10就会有问题,只能最大取到9,如果你不想更改表类型,则需要用to_number解决select max(to_number(t.number)) from test t HQL 会对to_number()函数报错。 可以使用以下方法解决: ...原创 2010-09-19 16:33:42 · 650 阅读 · 0 评论 -
(转)Hibernate 缓存 及 对象的状态
对于session这个接口的学习可以说是最痛苦也是最复杂的,因为它所涉及的方面太多了,一些隐藏的机制也很多,谁让它是Central API呢。 对于它的几个最基本的方法如save()、delete()、flush()等的学习都花了我一定的时间。在深入了解这些这些方法前,了解session的缓存机制以及Hibernate中Java对象的状态对我们是很有帮助的。 一.Session的缓存 Java是纯...原创 2010-01-08 16:21:47 · 67 阅读 · 0 评论 -
hibernate in action 2 英文版
hibernate in action 2 英文版与大家分享,已备不时之需。原创 2009-06-11 23:08:19 · 141 阅读 · 0 评论 -
java.sql.BatchUpdateException: ORA-00942: 表或视图不存在
java.sql.BatchUpdateException: ORA-00942: 表或视图不存在一个众多原因可能倒置的错,今天又发现一个意想不到的原因。 原因:在创建oracle表时必须全部使用大写,SQL可以如下写:#正确的写法CREATE TABLE PRODUCT_INFO ( PRODUCT_ID INT ...2009-06-10 16:04:13 · 1253 阅读 · 0 评论 -
Hibernate中使用CreateSQLQuery查询mysql的问题
Hibernate中有三种SQL的查询方式:1. HQL(Hibernate Query Language)是面向对象的查询语言,它和SQL查询语言有些相似。在Hibernate提供的各种检索方式中,HQL是使用最广的一种检索方式。使用Query接口是使用HQL查询的入口。例如:Query q = session.createQuery("from User u where u.fir...2009-05-07 23:11:24 · 212 阅读 · 0 评论 -
History Interceptor
History Interceptor原文: https://www.hibernate.org/195.html I've made some enhancements to the AuditInterceptor so that not only the creation- and modification times were recorded.The follow...原创 2009-09-15 16:45:37 · 74 阅读 · 0 评论 -
Hibernate的优化抓取和高速缓存(未完)
优化抓取和高速缓存 1. 对象获取方法: 导航对象图,从一个已经加载的对象开始,通过如User.getAddress().getCity()等属性访问方法访问被关联的对象。 通过标识符获取,当一个对象的唯一标识符值已知时,这是最方便的方法 HQL(Hibernate Query Language, Hibernate查询语言),它是一种完全面向对象的查询语言。J...原创 2011-06-02 15:47:30 · 94 阅读 · 0 评论