hibernate
急死我鸟
Java,python
展开
-
Hibernate访问多个数据库
对于大多数使用Hibernate的朋友来说,通常使用一下方式来获得Configuration实例: Configuration configure = new Configuration().configure(); 在Hibernate中,Configuration是hibernate的入口。在实例化一个Configuration的时候,Hibernate会自动在环境变量(classpath)里转载 2007-07-07 18:02:00 · 643 阅读 · 0 评论 -
Hibernate3 学习(九)
11.快取二级快取可以跨越 Session 生命周期,Hibernate 透过第三方来实现二级快取,这边也来看看 Query 的快取。 11.1二级快取(Second-level)Hibernate的[Session level 快取]随着Session生命周期起始与消灭。以第一个 Hibernate中的范例来说,在未使用二级快取的情况下,如果使用以下的程序片段来查询数据:转载 2007-08-15 20:51:00 · 768 阅读 · 0 评论 -
Hibernate3 学习(六)
8.继承映射在对象导向设计中,继承关系是很常见的,但继承与关系型数据库有着先天上的差异,继承关系至表格的设计上有三种方式。8.1继承 - Table per concrete class如果您采取的是对象模型的方式来设计程序,那么继承关系可能就会在您的程序设计中出现,然而关系型数据库的关联模型与对象模型并不匹配,为了映像对象模型 与关联模型,您可以采取三种策略,这边先介绍最简单转载 2007-08-15 21:10:00 · 534 阅读 · 0 评论 -
Hibernate3 学习(四)
4. HQL(Hibernate Query Language)这是 Hibernate 官方所推荐的查询语言,接近 SQL 的语法,并提供更多的特性与封装。 4.1基本查询使用HQL查询最简单的例子,就是查询指定类别对应表格的所有数据,例如:Session session = sessionFactory.openSession();Query query = ses转载 2007-08-15 21:24:00 · 892 阅读 · 0 评论 -
Hibernate3 学习(三)
3. 基本 API了解一下 Hibernate 常使用的几个类别之基本使用方式。3.1 SessionHibernate在对数据库进行操作之前,必须先取得Session实例,相当于JDBC在对数据库操作之前,必须先取得Connection实例, Session是Hibernate操作的基础,它不是设计为执行绪安全(Thread-safe),一个Session由一个执行绪来使用。转载 2007-08-15 20:38:00 · 761 阅读 · 0 评论 -
Hibernate3 学习(十)
12.LockingHibernate 透过两种 Locking 机制来保证数据在操作过程中不会被干扰。12.1悲观锁定(Pessimistic Locking)在多个客户端可能读取同一笔数据或同时更新一笔数据的情况下,必须要有访问控制的手段,防止同一个数据被修改而造成混乱,最简单的手段就是对数据进行锁定,在自己进行数据读取或更新等动作时,锁定其它客户端不能对同一笔数据进行任何转载 2007-08-15 20:49:00 · 657 阅读 · 0 评论 -
Hibernate3 学习(八)
10.关系映射来看看实体与实体之间的多对一、一对多、一对一、多对多如何与Java对象之间进行映像10.1多对一一个实体简单的说就是在数据库中拥有一个表格,并拥有自已的数据库识别(Database identity)。一个简单的实体与实体间之关系为多对一的关系,例如在学校宿舍中,使用者与房间的关系就是多对一的关系,多个使用者可以居住于一个房间。如上图所示的,可以藉由r转载 2007-08-15 20:55:00 · 682 阅读 · 0 评论 -
Hibernate3 学习(七)
9.容器映射容器常用来储存对象,这边来了解一下如何将容器的关系映像至表格。9.1 Set关于Set的特性,您可以先参考 HashSet、TreeSet 这两篇文件的介绍,这边先介绍当Set中包括的对象为非实体(Entiy)时的映射方式,简单的说,也就是所包括的对象没有对象识别(Identity),只是纯綷的值型态(Value type)对象)。假设您有一个User类别,当中转载 2007-08-15 21:11:00 · 669 阅读 · 0 评论 -
Hibernate3 学习(五)
6.映射基础议题一边是对象,一边是数据表格,两者在映像时有一些过渡的基础议题必须了解。6.1实体对象生命周期Hibernate中的实体对象可以分为三种状态:Transient、Persistent、Detached。 Transient 当您直接使用new创建出对象,例如在之前的例子中,User类别所衍生出之对象,在还没有使用save()之前都是暂存对转载 2007-08-15 21:22:00 · 641 阅读 · 0 评论 -
自定义数据类型映射
自定义数据类型映射:Hibernate提供了自定义映射类型接口,允许用户以编程的方式创建自定义映射类型,以便把持久化类的任意类型的属性映射到数据库中。 现在我们以一个简单的例子来说明自定义数据类型映射的思想和用法,对于T_User对象需要增加一个email属性用于保存用户的邮件地址,同时要求一个用户可以有多个邮件地址,系统在发送邮件时将向这些地址同时发送。 根据我们以往的项目经验主转载 2007-08-25 19:11:00 · 1197 阅读 · 0 评论 -
利用Thread-Specific Storage撰寫一個HibernateUtil
HibernateSessionUtil.javaimport java.io.Serializable;import net.sf.hibernate.HibernateException;import net.sf.hibernate.Session;import net.sf.hibernate.SessionFactory;import net.sf.hibernate.Tran转载 2007-08-15 20:02:00 · 566 阅读 · 0 评论 -
Hibernate的映射文件(hbm.xml)属性说明
Hibernate的映射文件(hbm.xml)属性说明1.class 节点name: 类名table: 类对应表名,默认为类名称dynamic-update: 生成更新字段时,只包含发生变动的字段,默认为false。dynamic-insert: 生成insert语句时仅包含非null字段Proxy: 代理类,默认为空discriminator-value: 子类辨别标识用转载 2007-08-04 23:22:00 · 1282 阅读 · 1 评论 -
Hibernate查询解决方案
这两个星期以来,我把原来用struts开发的一个测试工具改用struts+hibernate来实现,首先从心情上来,整个开发过程中始终保持愉快和平和,“原来开发可以这样愉快?”,再一点就是开发效率上高效了许多。 现在sun又加入jdocentral.com开始着手JDO2.0,想想看等它出台以后将是一个怎样激动人心得场面,让我们拭目以待。 用Hibernate来操转载 2007-07-24 17:36:00 · 608 阅读 · 0 评论 -
灵活使用Hibernate的查询对象DetachedCriteria
Hibernate提供了HQL,方便查询的编写。但是在某些情况下,我更喜欢用Criteria,因为它的语义非常明确。在处理对象关联的时候,经常要对对象下的某个集合字段进行条件限制。比如下面的类:public class MainClass{ protected long id; protected int type; protected Set subs= new H转载 2007-07-27 10:07:00 · 809 阅读 · 0 评论 -
Hibernate-Criteria Query
Criteria Query通过面向对象化的设计,将数据查询条件封装为一个对象。简单来 讲,Criteria Query可以看作是传统SQL的对象化表示,如: Criteria criteria = session.createCriteria(User.class); criteria.add(Expression.eq("name","Erica")); crit转载 2007-07-30 12:59:00 · 802 阅读 · 0 评论 -
Hibernate 数据的保存,更新和删除
数据的保存,更新和删除: 1、Session.save()方法:Session.save()方法用于实体对象的持久化保存,也就是说当执行session.save()方法时会生成对应的insert SQL语句,完成数据的保存。如下面的代码:User user=new User();user.setName(“zx”);Transaction tx=session.beginT转载 2007-08-04 21:18:00 · 1244 阅读 · 0 评论 -
hibernate v 3.2.4 hibernate的一些基础
三张表Bookinfo (bookid, bookname, bookprice, pubulisid)Public (publishid, publishname)Auth (authid, authname, authage)bookinfo 和 auth 是一对一的关系, 共享主键在bookinfo中在auth中 info 一对一, 外键关联bookinfo中不变auth中转载 2007-08-05 18:09:00 · 870 阅读 · 0 评论 -
hibernate的各种保存方式的区别 (save,persist,update,saveOrUpdte,merge,flush,lock)等
hibernate的保存hibernate对于对象的保存提供了太多的方法,他们之间有很多不同,这里细说一下,以便区别:一、预备知识:在所有之前,说明一下,对于hibernate,它的对象有三种状态,transient、persistent、detached下边是常见的翻译办法:transient:瞬态或者自由态persistent:持久化状态detached:脱管状态或者游离态脱管状态的实例可转载 2007-08-05 18:10:00 · 1057 阅读 · 0 评论 -
Hibernate 参数设置一览表
<table summary=" Hibernate配置属性 " border="1"> 属性名 用途 hibernate.dialect 一个Hibern转载 2007-08-04 19:25:00 · 562 阅读 · 0 评论 -
Hibernate获取数据方式与缓存使用
转载--Hibernate获取数据的方式有不同的几种,其与缓存结合使用的效果也不尽相同,而Hibernate中具体怎么使用缓存其实是我们很关心的一个问题,直接涉及到性能方面。缓存在Hibernate中主要有三个方面:一级缓存、二级缓存和查询缓存;一级缓存在Hibernate中对应的即为session范围的缓存,也就是当session关闭时缓存即被清除,一级缓存在Hibernate中是不可配置的部分转载 2007-08-04 21:20:00 · 573 阅读 · 0 评论 -
Hibernate常见的20个问题
1问:Hibernate初始化时总是报错:java.lang.NoClassDefFoundErrorHibernate初始化时出现出错代码:java.lang.NoClassDefFoundError: net/sf/ehcache/CacheException答:这是新手常见问题。是因为使用默认设置时,Hibernate文档里指出的Hibernate库不完整,缺少ehcache.j转载 2007-08-05 18:32:00 · 729 阅读 · 0 评论 -
在Hibernate应用中Java对象的状态
应用程序通过new语句创建一个JAVA对象时,JVM会为这个对象分配一块内存空间,只要这个对象被引用,它就一直存在内存中。如果不被引用了,就结束生命周期,会在适当时候被回收。一、理解Session缓存Session的save()方法持久化一个对象,这个对象将被加入到Session缓存中,以后即使不再引用这个对象,但是只要Session缓存没有被清空,这个对象仍然会处于生命周期中。转载 2007-11-01 22:39:00 · 910 阅读 · 0 评论