hibernate
文章平均质量分 80
yuhua3272004
这个作者很懒,什么都没留下…
展开
-
Spring+hibernate hql语句经hibernet的转化后中文乱码
package cait.cnas.dao.impl;import java.util.List;import org.hibernate.Query;import org.springframework.dao.DataAccessException;import org.springframework.orm.hibernate3.support.Hiberna原创 2008-09-09 15:21:00 · 2360 阅读 · 1 评论 -
Hibernate无法支持ORACLE的rowid查询
from http://www.javaeye.com/topic/264448在利用Hibernate的进行标准的SQL进行查询时,竟然不支持ORACLE的rowid直接查询: Java代码 session.createSQLQuery("select rowid from oracletablename").list(); session.createSQLQu转载 2008-12-04 18:48:00 · 1329 阅读 · 0 评论 -
hibernate事务处理和锁
事务处理:Hibernate本身并不具备事务管理能力。在事务管理层,Hibernate将其委托给底层的JDBC或者JTA,以实现事务的管理与调度。基于JDBC的事务:无疑是最简单的实现方式,session = sessionFactory.openSession();Transaction tx = session.beginTransaction();tx.commit();基于JTA的转载 2009-03-30 08:35:00 · 582 阅读 · 0 评论 -
Spring+Hibernate DAO 持久层开发, Spring 用 Hibernate 访问数据库的三种方法.推荐使用回调
DAO开发注:(1)以下两者都需在Spring XML配置文件中,注册Bean(实现类)来依赖注入SessionFactory. (2.1)Spring 中进行事务管理的通常方式是利用AOP(面向切片编程)的方式,为普通java类封装事务控制,它是通过动态代理实现的,由于接口是 延迟实例化的, spring在这段时间内通过拦截器,加载事务切片。原理就是这样,具体细节请参考jdk中有关转载 2009-08-18 14:31:00 · 1301 阅读 · 0 评论 -
批量修改或批量删除 session.clear()和session.flush()
在javaEey坛子上有人提到“robbin提到Hibernate3的缺点,一级缓存的强引用的问题,所以在做批量查询和插入操作的时候需要执行session.flush和session.clear两个操作。” 如批量插入时可以这么做:先在循环里面调用session.save()来保存,然后当到达指定的批处理数目的时候(比如20个),执行 session.flush()和session.c原创 2009-08-28 16:02:00 · 3862 阅读 · 2 评论 -
模拟实现HibernateTemplate回调机制
文章整理:DIY部落 http://www.diybl.com 文章出处:http://www.diybl.com/course/3_program/java/javajs/2008318/104916.html 谈谈回调吧,以前学java的时候居然没接触到这个词汇,汗,最近研究hibernate和spring结合时,发现spring实现hibernate时应用了回调机制,于是google转载 2009-08-28 16:10:00 · 735 阅读 · 0 评论 -
Hibernate3的DetachedCriteria支持-构造动态生成SQL语句
Hibernate3支持DetachedCriteria,这是一个非常有意义的特性!我们知道,在常规的Web编程中,有大量的动态条件查询,即用户在网页上面自由选择某些条件,程序根据用户的选择条件,动态生成SQL语句,进行查询。 针对这种需求,对于分层应用程序来说,Web层需要传递一个查询的条件列表给业务层对象,业务层对象获得这个条件列表之后,然后依次取出条件,构造查询语句。这里的一个难点是转载 2009-08-29 14:30:00 · 3919 阅读 · 0 评论 -
声明式事务管理
我们一下说的都是spring 整合hibernate的事物配置。Spring2.0及以后的版本中声明式事务有两种风格的配置:使用基于XML文件和基于注解式的声明式事务配置方法。具体参见 9.5 声明式事务管理。Spring2.0及以后的版本中声明式事务的配置与之前的版本有相当大的不同。主要差异在于不再需要配置TransactionProxyFactoryBean了。Spring2.0之前的旧版本风原创 2009-08-31 20:02:00 · 7384 阅读 · 0 评论 -
getHibernateTemplate().method()与getSession().method()
引文出处http://shenzhenchufa.blog.51cto.com/730213/156184在网上看到一篇 关于getSession().method()和getHibernateTemplate().method()比较的文章,自己感觉有些有些偏差(当然这只限我个人的看法对错与否还请各位批评指正),我会在原文各处提出我的看法。引文如下:在ssh或ssh2中,对数据库进行操作的D原创 2009-08-31 20:05:00 · 1932 阅读 · 0 评论 -
hibernate 批量操作 hibernate.jdbc.batch_size hibernate.jdbc.fetch_size
优化hibernate性能的几点建议1、针对oracle数据库而言,Fetch Size 是设定JDBC的Statement读取数据的时候每次从数据库中取出的记录条数,一般设置为30、50、100。Oracle数据库的JDBC驱动默认的Fetch Size=15,设置Fetch Size设置为:30、50,性能会有明显提升,如果继续增大,超出100,性能提升不明显,反而会消耗内存。 即在hi转载 2010-01-15 11:54:00 · 21961 阅读 · 0 评论 -
spring hibernate3.0 如何解决多条件查询
在以前的一些解决方案中,关于多条件查询我都是采用拼SQL语句,但是,hibernate3.0在输入中文时,出现乱码,所以,只有换一种方式来解决;我看大家都说用站位符,但没有很详细的说明,采用站位符,该如何实现多条件差查询;下面是我看文档写的一个测试方法: 根据userid查询: Java代码 public List searchSysusers(Sysuser sy转载 2008-12-04 17:27:00 · 1783 阅读 · 0 评论 -
spring + hibernate の HQL 多表查询 合并成一个PO对象的List
/** * 获得会员的友情值排行榜。 * * @param categoryCode * @return */ public List getMemberTaxisList(User user) { StringBuffer sqlHql = new StringBuffer(); s原创 2009-02-06 13:46:00 · 6215 阅读 · 0 评论 -
用hibernate怎么实现一个表中多个字段的联合唯一
xml version="1.0" encoding="utf-8"?>DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">hibernate-mapping>转载 2008-12-31 17:00:00 · 2553 阅读 · 0 评论 -
hibernate3 批量更新删除数据
Hibernate3.0 采用新的基于ANTLR的HQL/SQL查询翻译器,在Hibernate的配置文件中,hibernate.query.factory_class属性用来选择查询翻译器。(1)选择Hibernate3.0的查询翻译器:hibernate.query.factory_class= org.hibernate.hql.ast.ASTQueryTranslatorFactory(2转载 2008-09-10 15:26:00 · 7143 阅读 · 0 评论 -
Hibernate Spring 回调 jdbc 执行查询
getHibernateTemplate().find()只支持HQL的。要用Sql或存储过程的话,这样用: final String sql="...."; return this.getHibernateTemplate().executeFind(new HibernateCallback(){ public Object doInHiber原创 2008-09-12 14:37:00 · 1487 阅读 · 0 评论 -
Spring 整合 Hibernate 的一处简化引入PO映射文件配置
在过去使用 Spring 整合 Hibernate 的时候,都是用这样的配置方式。bean id="sessionFactory" lazy-init="true" class="org.springframework.orm.hibernate3.LocalSessionFactoryBean"> property name="mappingResources">转载 2008-09-17 09:53:00 · 1028 阅读 · 0 评论 -
Hibernate load(), get() , find() 区别
关于Hibernate的批量检索,批量更新和批量删除,所执行的操作并不尽遵循相同的规律。这一点使目前的Hibernate2.0还显得有些不够规格化和强健。但以后的版本中,期望其可以突破这几个屏障。 首先说明批量查询,我们已经了解到,Session 的load(), get() , find() 方法都可实现对业务数据的查询,其中load()会因所要查询的对象类的映射文件(比如Custome转载 2008-09-22 17:46:00 · 2916 阅读 · 0 评论 -
Native SQL查询 createSQLQuery()
/* spring + hibernate 中,this.getHibernateTemplate().find()方法,如果多表没有配置映射关系(one-mang or many-to-one 等)时,不支持 left join on * * createSQLQuery()中用的是表名而不是对象名,也就是写纯sql。* * 如果使用 第 16 章 Native SQL查询原创 2008-11-05 18:16:00 · 6824 阅读 · 0 评论 -
Update , SavaOrUpdate ,unsaved-null
先来点概念: 在Hibernate中,最核心的概念就是对PO的状态管理。一个PO有三种状态: 1、未被持久化的VO 此时就是一个内存对象VO,由JVM管理生命周期 2、已被持久化的PO,并且在Session生命周期内 此时映射数据库数据,由数据库管理生命周期 3、曾被持久化过,但现在和Session已经detached了,以VO的身份在运行 这种和Session已经detached的PO还能转载 2008-11-06 18:06:00 · 1077 阅读 · 0 评论 -
inverse,cascade,lazy,unsaved-value
构造这样一个例子,在测试过程中来说明一些Hibernate的高级配置及其相关机制:有三个类:Category.java,Prodcuct.java,ConfigurationTest.java,其中第三个类是用来测试的。Category.java代码: package unsaved_value; import ...... pu转载 2008-11-06 18:16:00 · 660 阅读 · 0 评论 -
Java学习之hibernate配置要点详谈
1.两种配置文件: A.hibernate.cfg.xml和B.hibernate.properties A中可含映射文件的配置,而B中hard codes加映射文件。 A.Configuration config=new Configuration().config(); B. Configuration config=new Configuration(); c原创 2008-11-06 18:20:00 · 512 阅读 · 0 评论 -
Spring整合Hibernate
from :http://ghsea.javaeye.com/blog/97846 Spring整合Hibernate时,主要做了两件事:提供事务级session和声明式的事务控制。在较早的Hibernate中,对于session的管理一般是one-session-per-operation的方式,即一次具体操作一个session。Spring为了解决这个问题,引入了HibernateTe转载 2008-11-06 18:36:00 · 615 阅读 · 0 评论 -
p6spy实现sql日志完整输出
虽然在hibernate中有show_sql选项,但是显示出来的语句大多类似<br /> select * from xxx where value=?<br /> 但是有时候我们需要得到完整的SQL语句,怎么办呢?使用P6SPY就可以完成这个任务<br /> p6spy是一个开源软件,它可以跟踪任何使用jdbc的应用产生的数据库操作。特别适合于监控ejb服务器产生的 sql statements。<br /> 官方网址:http://www.p6spy.com/<br />转载 2010-06-08 10:51:00 · 1797 阅读 · 0 评论