`
isiqi
  • 浏览: 16352917 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

hibernate读书篇2

阅读更多
hibernate读书篇2
单向一对多关联:

主控方:(即父亲一方)

<set

name="addresses"

table="t_address"

lazy="false"

inverse="false"

cascade="all"

sort="unsorted"

order-by="zipcode asc">

<key column="user_id"><!--< span="" /-->key>

<one-to-many class="org.hibernate.sample.TAddress"

/>

<!--< span="" /-->set>

被动方(Taddress)的记录由Hibernate 负责读取,之后存放在主控方指定的Collection类型属性中。

双向一对多关联:

主控端:

<set

name="addresses"

table="t_address"

lazy="false"

inverse="true" ①将这个属性设置为TRUE即可

cascade="all"

sort="unsorted"

order-by="zipcode asc">

<key column="user_id" ><!--< span="" /-->key>

<one-to-many class="org.hibernate.sample.TAddress"

/>

<!--< span="" /-->set>

被控端:

<many-to-one

name="user"

class="org.hibernate.sample.TUser"

cascade="none"

outer-join="auto"

update="true"

insert="true"

access="property"

column="user_id"

not-null="true"

/>

多对多关系:

主控端:

<set

name="roles"

table="t_group_role"

lazy="false"

inverse="false"

cascade="save-update"

>

<key column="group_id" >

<!--< span="" /-->key>

<many-to-many class="org.hibernate.sample.TRole"

column="role_id" />

<!--< span="" /-->set>

被控端:

<set

name="groups"

table="t_group_role"

lazy="false"

inverse="true"

cascade="save-update"

sort="unsorted">

<key column="role_id"><!--< span="" /-->key>

<many-to-many

class="org.hibernate.sample.TGroup"

column="group_id"

outer-join="auto"/>

14TUser user = (TUser)session.load(TUser.class,new Integer(1));

15)悲观锁:用FOR UPDATE

String hqlStr ="from TUser as user where user.name='Erica'";

Query query = session.createQuery(hqlStr);

query.setLockMode("user",LockMode.UPGRADE); //加锁

List userList = query.list();//执行查询,获取数据

16)乐观锁:用版本控制

<class

name="org.hibernate.sample.TUser"

table="t_user"

dynamic-update="true"

dynamic-insert="true"

optimistic-lock="version"

>

……

<!--< span="" /-->class>

事务主要包括JTA事务,JDBC事务

1)Session.load(对象类,ID)直接读取对象

2)Session.get(对象类,ID)直接读取对象,如果对象不能知道是否存在,如果不存在返回NULL

3)Session.iterate(HQL)直接返回一个ITERATOR接口的对象实例

4)Query q = Session.createQuery(HQL), List result =q.list();得到LIST结果集

5)Criteria crit = session.createCriteria(Cat.class);条件查询

crit.add( Expression.eq("color", eg.Color.BLACK) );

crit.setMaxResults(10);

List cats = crit.list();

- 作者: lightsword 2006年02月28日, 星期二 09:50  回复(0) |  引用(0) 加入博采

分享到:
评论

相关推荐

    《深入浅出Hibernate》读书笔记

    总之,《深入浅出Hibernate》读书笔记涵盖了实体对象生命周期的转换、实体对象的识别机制以及Hibernate的多级缓存策略,这些都是理解并有效使用Hibernate的关键点。通过深入学习这些概念,开发者能够更好地掌握...

    hibernate and spring 读书笔记hibernate and spring 读书笔记

    2. **依赖注入**:Spring的DI功能可以用来管理Hibernate SessionFactory和Session的创建和销毁,使得Hibernate配置更加灵活和可测试。 3. **异常转换**:Spring可以将Hibernate的异常转换为一致的、面向应用程序的...

    Hibernate读书笔记

    hibernate读书笔记,里面有一些实例和解说,是自己整理的,非常适合开发时做参考

    hibernate 2 升级参考文档

    本文主要讨论从Hibernate 2升级到Hibernate 3的过程中需要注意的关键步骤,这对于使用SSH(Spring、Struts和Hibernate)框架的项目尤其重要。 首先,升级的第一步涉及替换jar包。将旧版本的Hibernate 2.1.jar替换为...

    hibernate 读书笔记

    这篇读书笔记将深入探讨Hibernate的核心概念、工作原理以及如何在实际项目中应用它。 **一、Hibernate简介** Hibernate是由 Gavin King 创建的一个强大的Java ORM 解决方案,它允许开发人员使用面向对象的方式来...

    Java Persistence WIth Hibernate 2nd

    Manning出版 Java Persistence With Hibernate 第二版 清晰pdf Hibernate, an open source project that is almost 15 years old. In a recent poll, Hibernate was among the top five tools used by many Java ...

    hibernate3 hibernate3

    在本篇文章中,我们将深入探讨Hibernate3的核心概念、主要功能以及如何在实际项目中应用。 一、Hibernate3核心概念 1. 实体(Entity):在Hibernate中,实体代表数据库中的表,是Java类的一个实例。通过在类上使用...

    Hibernate 配置各种数据库

    Hibernate 配置各种数据库 Hibernate 是一个基于 Java 的持久层框架,提供了一个抽象的数据访问层,能够与多种数据库进行集成。在 Hibernate 的配置文件中,我们可以配置不同的数据库连接,包括驱动程序、URL 等...

    hibernate.hbm2ddl.auto属性详解

    详解hibernate.hbm2ddl.atuo 属性的配置

    hibernate2.jar

    hibernate2.jar是hibernate的一个核心库

    Struts2Hibernate整合jar包

    Struts2Hibernate整合jar包,直接放进工程里用就可以了,不少东西

    Hibernate入门到精通

    "Hibernate入门到精通" Hibernate 是一个基于Java的ORM(Object-Relational Mapping,对象关系映射)框架,它提供了一种简洁高效的方式来访问和操作关系数据库。下面是 Hibernate 的主要知识点: Hibernate 简介 ...

    hibernate2.jar-----hibernate工具包

    hibernate2的核心jar包 hibernate2.jar

    struts2+hibernate+freemarker项目实例

    Struts2、Hibernate和FreeMarker是Java开发领域中常见的三个开源框架,它们分别在MVC(Model-View-Controller)架构的不同层面发挥着关键作用。这个"struts2+hibernate+freemarker"项目实例是将这三个框架集成到一起...

    H2 + hibernate

    2. **Hibernate配置**:如何在项目中引入Hibernate,配置Hibernate的属性,如JDBC连接、数据库驱动、实体映射等。特别是如何配置H2数据库作为Hibernate的工作数据库。 3. **Entity映射**:Hibernate使用注解或XML...

    hibernate经典教材从入门到精通(共四篇)

    第二篇可能进一步深入到Hibernate的高级特性,如HQL(Hibernate查询语言)和Criteria API,它们提供了更加灵活的数据查询方式。同时,可能会讲解级联操作、懒加载与立即加载策略、集合映射(例如List、Set、Map等)...

    STRUTS2+HIBERNATE详细的分页实现代码详细的分页实现代码

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Struts2与Hibernate框架结合下实现分页功能。接下来将详细解析Struts2与Hibernate如何协作完成这一任务。 ### Struts2与Hibernate...

Global site tag (gtag.js) - Google Analytics