
【H】hibernate知识
巴克
java 我来了....
展开
-
spring的配置文件中bean的注入方式
<br />2010-06-10 14:31:13<br />spring的配置文件中bean的注入方式:<br /> 构造器注入:a:要在注入的类里提供相应的构造方法;<br /> b:配置文件中即为:(简单属性的注入)<constructor-arg index=" " value=" "><constructor-arg><br /> (引用类型属性的注入) <constructor-arg ref= " "><constructor-arg><br /原创 2010-06-10 14:31:00 · 1398 阅读 · 0 评论 -
异常类型
项目中遇到如下bug:com.xbzc.mr.dao.exception.DaoException: com.xbzc.mr.dao.exception.DaoException: org.springframework.orm.hibernate3.HibernateSystemException: exception setting property value with CGLIB (set原创 2013-04-19 10:57:24 · 895 阅读 · 0 评论 -
添加hibernate反向工程(Hibernate Reverse Engineering)出错
转自:http://hi.baidu.com/xckouy/item/0f6b000964ca96dbdce5b06b添加hibernate反向工程(Hibernate Reverse Engineering)出错问题:This wizard generates Hibernate 3.0 OR mappings(*.hbm.xml),The project you selected转载 2013-02-28 21:47:35 · 1718 阅读 · 0 评论 -
hibernate reverse engineering 〔hibernate反向工程)
今天新建的项目想通过hibernate reverse engineering 得到pojo和映射文件,但是出现了问题: java src folder 打开后没有我想选择的项目呀。网上找了资料最后是这样解决的:在 项目的 这个目录下打开.project文件,使用记事本打开就行,添加下面第一行的的红色内容com.genuitec.eclipse.hibernate.h原创 2013-02-28 16:48:16 · 1737 阅读 · 0 评论 -
主键生成机制
〔转自:http://wenku.baidu.com/view/033a42166edb6f1aff001f09.html〕一般而言,利用uuid.hex方式生成Hibernate主键将提供最好的性能和数据库平台适应性。另外由于常用的数据库,如Oracle、DB2、 SQLServer、MySql 等,都提供了易用的主键生成机制(Auto-Increase 字段或者Sequence)。我们转载 2013-02-28 15:55:00 · 797 阅读 · 0 评论 -
HQL语句的属性查询
今天算是真正用到HQL语句的牛逼地方了,之前一直就用到简单的hql语句,比如 from ...., 涉及到需要查询回指定的属性的时候,用的都是sql语句查询,今天,2012年的最后一天,哈哈 我要说no,开始使用HQL。简单属性查询(重要) * 单一属性查询,返回结果集是属性列表,其元素类型和实体类中相应的属性类型一致 * 多个属性查询,返回的结果集是对象数组,数组的长度和查询的属性的原创 2012-12-31 16:24:43 · 1488 阅读 · 0 评论 -
异常总结
Could not register synchronization with JTA TransactionManager; nested exception is.....原因:原创 2012-11-20 10:54:28 · 719 阅读 · 1 评论 -
java 访问数据库视图
工作多年调用视图到多次,自己写代码使用视图还是头一回,也觉得新鲜,那就开始呗, 数据库系统是Oracle 1 我用的数据库连接客户端是Navicat ,首先创建视图,其实视图就是调用表的操作,提取自己需要的数据放到视图下面,相对于java来说,可以把视图看成是特殊的表对待,这里说的特殊指的是 通过hql语句调用访问数据库的时候涉及到关联表的问题. 创建视图如下: 然后原创 2012-11-29 16:19:42 · 15179 阅读 · 0 评论 -
照片存入oracle数据库以及从oracle数据库读取
最近项目中遇到将照片信息存入调用webservice访问的其它项目指定的数据库中,解决方法如下:上传: 前台选择照片后点击上传按钮,调用后台,生成File 类型 最后形成流的方式调用数据库,存入数据库 ,照片存入oracle数据库中是以BLOB类型存储的,关键代码:protected void doPost(HttpServletRequest request, HttpServl原创 2012-11-28 14:36:20 · 4033 阅读 · 0 评论 -
通过SQL查询多个表的结果且分页
如下方式:需要使用hibernate3.2及以上版本: @SuppressWarnings("unchecked") public List queryObjectsBySQL(final String HQLStr, final Object[] parmaters, final Integer startRow, final Integer rowCount) throw原创 2013-05-17 15:57:09 · 1047 阅读 · 0 评论 -
数据查询中 IN关键字的使用方法总结
第一种(在hql语句中的where条件中拼接好in的内容): List roleList = hibernateDao.queryObjectsByWhere( TUmUserrole.class, wherePart, parmaters.toArray(), sortField, null, null); String rolesStr = "";// 所有原创 2013-05-17 15:48:29 · 2416 阅读 · 0 评论 -
hibernate 关联关系之分析
inverse="true" cascade="all" lazy="false"在hibernate的映射关系中由于延迟加载,之前的操作使session已经关闭,所以加载set属性时无可用session解决办法:在映射文件中设置set属性 lazy='false'原创 2014-03-06 17:18:17 · 1128 阅读 · 0 评论 -
ThreadLocal
转自:http://www.iteye.com/topic/103804首先,ThreadLocal 不是用来解决共享对象的多线程访问问题的,一般情况下,通过ThreadLocal.set() 到线程中的对象是该线程自己使用的对象,其他线程是不需要访问的,也访问不到的。各个线程中访问的是不同的对象。 另外,说ThreadLocal使得各线程能够保持各自独立的一个对象,并不是通过Thre转载 2014-01-24 09:50:32 · 728 阅读 · 0 评论 -
批量插入处理
总结:还是jdbc操作绕过hibernate效率要高。转载 2013-12-20 17:38:52 · 844 阅读 · 0 评论 -
Jboss启动报错
报错内容见下面截图:========================================= 异常原因是: 因为这个bean 需要的class我还没有写呢, 注释掉就可以了. ===========================接下来又一个异常产生了:org.springframework.beans.factory.Bea原创 2013-11-25 14:35:19 · 1805 阅读 · 0 评论 -
DAO层的CRUD操作该使用getHibernateTemplate()下的方法
今天突然想总结下,DAO层继承了HibernateDaoSupport之后的查询是该使用哪个:方式1:Session session = this.getSeesion();session.CreateQuery("hql"); 或者session.CreateSqlQuery("sql") ;方式2:Session session = this.getHibernate原创 2013-10-25 16:46:11 · 1504 阅读 · 0 评论 -
org.hibernate.HibernateException: createSQLQuery is not valid without active transaction
org.hibernate.HibernateException: createSQLQuery is not valid without active transaction异常解决: 产生这个异常的原因是代码中使用了如下片段:public class ConfigDaoImpl extends HibernateBaseTemplate implements ConfigDao {..原创 2013-10-25 16:28:16 · 3166 阅读 · 1 评论 -
sql where 1=1和 0=1 的作用
[转自:http://www.cnblogs.com/junyuz/archive/2011/03/10/1979646.html]where 1=1; 这个条件始终为True,在不定数量查询条件情况下,1=1可以很方便的规范语句。一、不用where 1=1 在多条件查询中的困扰 举个例子,如果您做查询页面,并且,可查询的选项有多个,同时,还让用户自行选择并输入查询关键词转载 2013-10-25 15:59:37 · 622 阅读 · 0 评论 -
hibernate 的Transformers的使用注意
Query query = session.createSQLQuery(HQLStr) .setResultTransformer( Transformers.ALIAS_TO_ENTITY_MAP); 以上代码如果需要使用hibernate的jar包有所不同:需要使用hibernate-distribution-3.3.2.GA 包含的hib原创 2013-07-12 14:28:33 · 1760 阅读 · 0 评论 -
hibernate merge与update区别
今天做了个测试,写了个测试用例来看看merge与update时控制台打印出来的日志有什么不一样。实体bean很简单,就id和name两个字段,接下来分别给出以下几种测试情形的控制台日志内容:1. 数据库记录已存在,更改person的name为一个新的name。 merge方法打印出的日志如下: Hibernate: select person0_.id as id0_0转载 2012-02-06 17:30:32 · 662 阅读 · 0 评论 -
MySql和Oracle的建表即约束设置不同[日期类型的默认值设置方式不同]
Oracle中 给日期时间设置默认值的方式: CREATE TABLE "PHR"."T_UM_USERDETAIL" ("PID" NVARCHAR2(128) NOT NULL ,"USERID" NVARCHAR2(128) NULL ,"PHOTOID" NVARCHAR2(128) NULL ,"PHONENUM" NVARCHAR2(128) NULL ,"BI原创 2012-01-31 10:20:23 · 3017 阅读 · 0 评论 -
Hibernate中对增删改查的小结
Hibernate中对增删改查的小结 mysql中库表News,字段如下id | int | auto_increment | primary keytitle | varcharContent | varchardate | varchar 1:Hibernate的insert操作原创 2011-11-22 08:58:31 · 564 阅读 · 0 评论 -
Hibernate访问持久化类(派生)属性的方法与策略
【转自:http://blog.sina.com.cn/s/blog_4fe8c9230100ks9f.html】 Hibernate访问持久化类属性的方法可通过setXXX()和getXXX()方法。这是优先推荐的方式,可以灵活的封装持久化类,提高域模型的透明性。若持久化类没有提供setXXX()和getXXX()方法,可以在映射文件中设置属性为field,持久化类中设置属性为publ转载 2011-11-18 14:25:44 · 809 阅读 · 0 评论 -
【转载】Hibernate映射类型对照表
Hibernate映射类型对照表java类型 Hibernate映射类型 SQL类型java.math.BigDecimalbig_decimalnumericbyte[]binaryvarbinary(blob)转载 2011-10-08 10:43:04 · 1665 阅读 · 0 评论 -
Hibernate中的联合查询【图片来源于:转载】
联合查询:inner join ;left join ; right join ;联合查询返回的是多个对象,需要如下设置: 将集合转换为Object数组原创 2011-09-09 13:49:43 · 622 阅读 · 0 评论 -
HQL和SQL区别
1.hql与sql的区别sql 面向数据库表查询hql 面向对象查询hql : from 后面跟的 类名+类对象 where 后 用 对象的属性做条件sql: from 后面跟的是表名 where 后 用表中字段做条件查询在Hibe转载 2011-09-09 13:21:06 · 921 阅读 · 0 评论 -
hql语句使用时,参数中包括日期的处理
比如要查找数据库中某个表里面结束日期小于当前日期的数据:这里一共有3个问号,也就是说有三个入参,入参放入了list里面:List parmaters = new ArrayList();Date today = new Date();parmaters.ad原创 2011-09-08 16:49:35 · 2697 阅读 · 0 评论 -
hql查询的使用:
<br />hql查询的使用:<br />hql查询form 后面跟的是实体类名,该实体类名字已经和数据库中的表做好了映射。原创 2010-09-28 09:48:00 · 719 阅读 · 0 评论 -
操作数据库(getHibernateTemplate()的使用)
<br />public class AddUserDaoImpl extends HibernateDaoSupport implements AddUserDao { public void saveUserInfoToDB(UserInfo uio) {// session.beginTransaction();// session.save(uio);// session.getTransaction().commit(); t原创 2010-08-17 14:09:00 · 1112 阅读 · 0 评论 -
HibernateUtil 获取sessionfactory 、session
db.HibernateUtil package db;import org.hibernate.HibernateException;import org.hibernate.Session;import org.hibernate.SessionFactory;import org.hibernate.cfg.Configuration;public c转载 2011-11-22 09:08:41 · 1280 阅读 · 0 评论 -
hibernate 联合查询,返回多个表(对应着多个对象)的操作【元组】
如下返回的是元组 ,元组:数据库表中的每一条记录。Hibernate queries sometimes return tuples of objects. Each tuple is returned as an array: Iterator kittensAndMothers = sess.createQuery( "select kitten, mother fr原创 2011-11-28 13:34:47 · 2382 阅读 · 0 评论 -
hibernate 映射文件配置默认值方法
【转自:http://www.blogjava.net/keweibo/articles/353872.html】通过设置hibernate映射文件的class处 dynamic-insert="true" dynamic-update="true" 和property 里面的insert="false" update="false" 实现 .两处都要配置!标签属性:updat转载 2012-01-31 15:52:30 · 1675 阅读 · 0 评论 -
hibernate的回调函数,以及
hibernate的帮助文档搜索: 迭代式获取结果(Iterating results) public int countObjectsByHQL(final String HQLStr, final Object[] parmaters) throws DaoException { //log.info("数据层:执行HQL语句进行数据库查询,获得查询结果对象集合 countObj原创 2012-01-18 14:58:51 · 1203 阅读 · 0 评论 -
hibernate JPA 关联关系 fetch
JPA在这方面控制的很好:annotation版本:在 many-to-one 双向关联中,在many-to-one这段默认设置的就是 fetch=FetchType .EAGER在 many-to-one 双向关联中,在one-to-many这段默认设置的就是 fetch=FetchType.LAZY注:不要能够两边都设置为eager,可以同时设置为lazy 这样设置很合原创 2011-12-28 15:18:56 · 976 阅读 · 0 评论 -
hiberante 关联关系中CRUD的操作 cascade 和 fetch
cascade :这个 CUD 增删改 有关系; fetch :只和R 查 有关系;原创 2011-12-28 14:13:16 · 592 阅读 · 0 评论 -
hibernate的ID生成机制【针对不同的数据库】
数据库 MySql : native (auto_increment)SqlServer : identityOracle :sequence 使用annotation 时, ID的生成方式:@GeneratedValue 默认是auto 默认值就是上面指定的,原创 2011-12-19 14:01:14 · 610 阅读 · 0 评论 -
hibernate中枚举类型的使用
在xml中使用枚举类型比较复杂;在annotation中使用很方便的: 在get方法上写: @enumerated(EnumType.String) 或者@enumerated(value=“EnumType.String”) (value=)可以不写 。 String 映射到数据库中的 varchar ,而ordinal 映射到数据库中的 integer原创 2011-12-19 11:06:12 · 767 阅读 · 0 评论 -
hibernate:oneTomany
hibernate 的 one-to-many 和 many-to-one 在数据库层面的体现是一样的,都是在多端增加one端的主键;在对象层面(代码层面)如果是one-to-many 则在one端代码里面添加多端的set集合,并在get方法上添加joincolumn(name=“ ”) ,如果是many-to-one则在多端添加外键,添加many-to-one的注解。原创 2011-12-20 09:44:54 · 624 阅读 · 0 评论 -
oenSession()和 getCurrentSession()的区别
Configuration cfg = new Configuration(); SessionFactory sf = cfg.configure().buildSessionFactory(); Session session = sf.openSession()这里使用oenSession()和 getCurrentSession()的区别是:原创 2011-11-16 14:27:34 · 810 阅读 · 0 评论 -
hibernate一级缓存
【转自:http://dododo1234321-163-com.iteye.com/blog/1828173】1.Session 级别的缓存,它同session邦定。它的生命周期和session相同。Session消毁,它也同时消毁;管理一级缓存,一级缓存无法取消,用两个方法管理,clear(),evict()2.两个session 不能共享一级缓存,因它会伴随session的生命周期的转载 2015-06-17 12:00:35 · 910 阅读 · 0 评论