随笔分类 -  hibernate

摘要:1、hibernate基于数据版本(Version)记录机制实现。为数据增加一个版本标识,一般是通过为数据库表增加一个“version”字段来实现。 读取出数据时,将此版本号一同读出,之后更新时,对此版本号加一。此时,将提交数据的版本数据与数据库表对应记录的当前版本信息进行比对,如果提交的数据 版本 阅读全文
posted @ 2017-01-08 13:32 ngulc 阅读(930) 评论(0) 推荐(0) 编辑
摘要:本文实例讲述了Hibernate批量处理海量数据的方法。分享给大家供大家参考,具体如下: Hibernate批量处理海量其实从性能上考虑,它是很不可取的,浪费了很大的内存。从它的机制上讲,Hibernate它是先把符合条件的数据查出来,放到内存当中,然后再进行操作。实际使用下来性能非常不理想,在笔者 阅读全文
posted @ 2016-11-21 22:43 ngulc 阅读(15815) 评论(0) 推荐(2) 编辑
摘要:当你用hibernate查出数据,但是类型不是原来的类型怎么办,新增的实体类还可以用,query.setResultTransformer(Transformers.aliasToBean(AA.class));这种形式可以解决查出来的数据不能使用的问题. 注意: (1)这种转换实体类很严格,必须连 阅读全文
posted @ 2016-10-05 12:24 ngulc 阅读(12057) 评论(0) 推荐(2) 编辑
摘要:最近在做一个较为复杂的查询,hibernate基本的查询不能满足,只好使用其提供的原生sql查询。参考网上的一些资料,做一些总结。 对原生SQL查询执行的控制是通过SQLQuery接口进行的,通过执行Session.createSQLQuery()获取这个接口。该接口是Query接口的子接口。 执行 阅读全文
posted @ 2016-09-30 09:43 ngulc 阅读(27240) 评论(2) 推荐(1) 编辑
摘要:今天在用Hibernate通过原生SQL和ResultTransformer映射时,出现数据类型不匹配的错误。但是通过Entity映射,没有问题。在网上找了好多答案,终于解决了。 核心代码: 网上方法总结如下: 1、利用数据库CAST函数,select cast( currencies.code a 阅读全文
posted @ 2016-09-29 09:54 ngulc 阅读(2650) 评论(0) 推荐(0) 编辑
摘要:Hibernate的对象有3种状态,分别为:瞬时态(Transient)、 持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(Persistence Object),瞬时对象和脱管对象也称为VO(Value Object)。 瞬时态 Transient 由new 阅读全文
posted @ 2016-09-20 22:55 ngulc 阅读(247) 评论(0) 推荐(0) 编辑
摘要:今天在做项目的时候,一个中间表没有主键,所有在创建实体的时候也未加组件,结果报以下错误: 可以看出,其指出某一类是未指定标识符的实体,其主要原因是hibernate在进行扫描实体的时候,为发现其主键标识。所以就在其类上添加主键标识。因为我的这个类比较特殊,需要添加联合主键。 联合主键用Hiberna 阅读全文
posted @ 2016-09-09 09:37 ngulc 阅读(20894) 评论(0) 推荐(1) 编辑
摘要:org.hibernate.PropertyValueException: not-null property references a null or transient value:com.bjcx.project.entity.task.Equipmenttable.ProjPortfolio... 阅读全文
posted @ 2015-11-26 19:30 ngulc 阅读(1094) 评论(0) 推荐(0) 编辑