转:hibernate查询方法
摘要:1: QBE (Query By Example) Criteria cri=session.createCriteria(Student.class);cri.add(Example.create(s));//s是一个Student对象listcri.list(); 实质:创建一个模版,比如我有一个表serial有一个giftortoy字段,我设置serial.setgifttoy("2"), 则这个表中的所有的giftortoy为2的数据都会出来 2: QBC (Query ByCriteria)主要有Criteria,Criterion,Oder,Restrictio
阅读全文
转:hibernate关联关系映射
摘要:1、单向N-12、单向1-13、单向1-N4、单向N-N5、双向1-N6、双向N-N7、双向1-1下面就对这七种关联关系映射进行一个简单的总结:一、单向的多对一看两个POJOpublic class Person{private int pid;private String name;private Address address;...//生成相应的getter、setter方法}----------------------------------------public class Address{private int id;private String detail;...//生成相应
阅读全文
memge和saveOrUpdate的区别
摘要:Hibernate的对象有3种状态,分别为:瞬时态(Transient)、持久态(Persistent)、脱管态(Detached)。处于持久态的对象也称为PO(PersistenceObject),瞬时对象和脱管对象也称为VO(ValueObject)。 瞬时态由new命令开辟内存空间的java对象,eg.Personperson=newPerson("xxx","xx");如果没有变量对该对象进行引用,它将被java虚拟机回收。瞬时对象在内存孤立存在,它是携带信息的载体,不和数据库的数据有任何关联关系,在Hibernate中,可通过session的save()或saveOrUpdate()
阅读全文
转:hibernate查询方式
摘要:1: QBE (Query By Example) Criteria cri = session.createCriteria(Student.class); cri.add(Example.create(s)); //s是一个 Student 对象 list cri.list(); 实质:创建一个模版,比如我有一个表serial 有一个 giftortoy 字段,我设置 serial.setgifttoy(\"2\"), 则这个表中的所有的giftortoy 为 2 的数据都会出来QBC查询方式QBC(Query By Criteria)查询方式是 Hibernate 提供的 “ 更加面向对
阅读全文
Hibernate联合主键配置
摘要:关键在于CjhbPK主键类要实现Serializable接口?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 class name="com.hengtian.bondtradingsys.entity.business.exchange.real
阅读全文
Spring中HibernateTemplate类的使用
摘要:实际情况中,对于编程事务的操作最好还是使用org.springframework.transaction.support.TransactionTemplate,因为HibernateTemplate在实际操作中并不是想象的那样,具体如下:目的:使用HibernateTemplate执行execute(new HibernateCallback())方法,从HibernateCallback中得到session,在此session中做多个操作,并希望这些操作位于同一个事务中。 如果你这样写(1): public static void main(String ss[]) { CtxUti
阅读全文
转:hibernate缓存
摘要:在向大家详细介绍Hibernate二级缓存之前,首先让大家了解下一级缓存, 然后全面介绍Hibernate二级缓存。 Hibernate 中提供了两级Cache,第一级别的缓存是Session级别的缓存,它 是属于事务范围的缓存。这一级别的缓存由hibernate管理的,一般情况下 无 需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于 进程范围或群集范围的缓存。这一级别...
阅读全文
转:Hibernate一级缓存
摘要:Hibernate的一级缓存是由Session提供的,因此它只存在于Session的生命周期中,当程序调用save(),update(),saveOrUpdate()等方法,及调用查询接口list,filter,iterate时,如Session缓存中不存在相应的对象,Hibernate会把该对象加入到一级缓存中,当Session关闭时,该Session所管理的一级缓存也会立即被清除。Java代码...
阅读全文
转:hibernate中的N+1问题
摘要:什么时候会出现N+1问题? 在hibernate中,当进行一个表的查询时,当这个表与另外的表是多对一,或者是一对多关联时,就会出现N+1问题,当查询一条语句时,比如主键name=1,而与这个name相关联的另一张表对应name的有N个记录,这时就出另外发出N条语句去查询,而我又不要那些记录,这时就是N+1问题。解决方法:1.设置lazy=true;2.在本类DTO中有关联另外表的表对象的声明,在他...
阅读全文
转:在Spring中配置Hibernate的事务
摘要:原文地址:http://www.javaeye.com/wiki/Hibernate/1672-spring-to-configure-hibernate-in-the-affairs-of本文主要探讨如何利用Spring来装配组件,包括其事务上下文。从J2EE应用程序内部连接到单个的数据库并不是什么难事。但是,如果要装配或者集成企业级的组件,情况就复杂了。一个组件可以有一个或多个支持它的数据库,因此,当装配两个或更多的组件时,我们希望能够保持在跨组件的多个数据库中进行的操作的原子性。J2EE服务器为这些组件提供了一个容器来保证事务原子性和跨组件独立性。如果使用的不是J2EE服务器,则可以利用
阅读全文
Hibernate体系结构
摘要:Application ----> Hibernate ----> DatabasePersistent Objects 是介于Application与Hibernate之间的hibernate配置文件及映射文件是介于hibernate与DB之间的
阅读全文
Hibernate中的inverse的用法
摘要:总结:直观来说所有双向关联须有有一段设置为inverse。在一对多的关联中它必须代表多(many)的那端。而在多对多(many-to-many)关联中,可以选取任意一端,因为两端之间并没有差别。以下为转贴:通过Hibernate Inverse的设置来决定是由谁来维护表和表之间的关系。最近有朋友问我Hibernate关于多对多关于删除中间表数据的问题,关键是Inverse的设置,下面引用网友的一篇文章。Inverse是Hibernate双向关系中的基本概念,当然对于多数实体,我们并不需要双向关联,更多的可能会选择单向关联,况且我们大多数人 一般采用一对多关系,而一对多双向关联的另一端:多对一的
阅读全文