`
js-code
  • 浏览: 96126 次
  • 性别: Icon_minigender_1
  • 来自: 兰州
社区版块
存档分类
最新评论

hibernate many to one 非主键关联

    博客分类:
  • SSH
阅读更多

hibernate在默认情况下,从表跟主表的关联,是通过主键来关联的,但是如果双方关联的字段都不是主键的情况下,可以在<many-to-one 这方设置一下property-ref,这样就可不通过主键来关联,例如:ListCommon(是<many-to-one方)的listMemberSid字段,要跟Broker(是<one-to-many方)表的brokMemberSid字段关联,只要在ListCommon的xml中加入property-ref=“brokMemberSid”,这样就等于说明了ListCommon表是通过Broker表的brokMemberSid属性来跟Broker来关联的,如下:

Broker.hbm.xml

..........

<hibernate-mapping package="com.crb2b.data.bo">
    <class name="Broker" table="crb2b_broker" >
        <id name="brokId" type="java.lang.Integer">
            <column name="brokId" />
            <generator class="native"></generator>
        </id>

<property name="brokMemberSid" type="java.lang.String">
            <column name="brokMemberSid" length="11" not-null="true" />
        </property>

<set 
            name="crb2bListcommons" 
            lazy="false"              
            inverse="true"
            cascade="all"   
            >
            <key>
                <column name="listMemberSid"    length="11" not-null="true" />
            </key>
            <one-to-many class="ListCommon" />
        </set>

  
ListCommon.hbm.xml:

<hibernate-mapping package="com.crb2b.data.bo">
    <class name="ListCommon" table="crb2b_listcommon" >
        <id name="licoId" type="java.lang.Integer">
            <column name="licoId" />
            <generator class="native"></generator>
        </id>
         
        <many-to-one name="crb2bBroker" class="Broker" fetch="select" property-ref="brokMemberSid">
            <column name="listMemberSid" length="11" not-null="true" />
        </many-to-one>

详细参看:http://hi.baidu.com/piao_live/blog/item/9fa786d02706168aa0ec9ce9.html

分享到:
评论
2 楼 zyz251314 2015-01-30  
43385607 写道
我想请问一下   非主键关联  怎么设置延迟加载。

因为我像这样配置好后,无论怎么设置,都是立即检索


我也是    好像没法延迟加载啦
1 楼 43385607 2009-04-21  
我想请问一下   非主键关联  怎么设置延迟加载。

因为我像这样配置好后,无论怎么设置,都是立即检索

相关推荐

    Hibernate one-to-many / many-to-one关系映射

    "Hibernate one-to-many / many-to-one关系映射"是两个基本的关系类型,用于表示实体间的关联。在这个主题中,我们将深入探讨这两种关系映射的原理、配置和实际应用。 一、一对一(one-to-one)与一对多(one-to-...

    hibernate 关联映射(一) many to one

    本文将深入探讨“Hibernate关联映射中的Many-to-One关系”。 Many-to-One关联是现实世界中常见的关系类型,比如一个学生可以对应多个课程,而一个课程可能被多个学生选修。在数据库中,这通常表现为一对多(One-to-...

    Hibernate一对多主键关联映射源代码

    本教程通过源代码的形式,讲解如何在Hibernate中实现一对多主键关联映射,适用于初学者学习。 首先,我们需要理解一对多关联的基本概念。在数据库中,一个表的某一列(主键)可能与另一个表的多行相关联,比如一个...

    hibernate_many2one

    在Hibernate中,`many2one`关系表示多个实体可以与单个实体关联。例如,在一个学校系统中,多个学生可以属于同一个班级,这里的学生和班级就形成了一个典型的多对一关系。在数据库层面,这种关系通常通过外键来实现...

    Java的Hibernate框架中的双向主键关联与双向外键关联

    配置方式与双向主键关联类似,只是在主映射的外键一端,我们使用`&lt;many-to-one&gt;`标签代替`&lt;one-to-one&gt;`。 例如,在IdCard类的映射文件中,我们将使用`&lt;many-to-one&gt;`标签指向Person类,而在Person类的映射文件中,...

    hibernate 全面学习->hibernate 关联映射学习

    本篇文章将全面探讨Hibernate的关联映射学习,包括一对一(One-to-One)、一对多(One-to-Many)、多对一(Many-to-One)以及多对多(Many-to-Many)四种关系映射。 首先,一对一关联映射(One-to-One)是两个实体...

    Hibernate关联映射

    一对一主键关联是通过共享主键实现的,这意味着两个实体类共用同一个主键。在这种情况下,被引用的实体类(如 Address)不再有自己的独立主键生成策略,而是依赖于引用它的实体类(如 Person)生成主键。在 ...

    Hibernate应用例子many-to-many

    本示例将详细讲解如何在Hibernate中实现多对多(many-to-many)的关系映射。 在数据库设计中,多对多关系是指两个实体之间存在多个关联,比如学生和课程的关系,一个学生可以选修多门课程,一门课程也可以被多个...

    hibernate one_to_many

    在Java持久化框架Hibernate中,`one_to_many`映射是一种常见的关系模型,它表示一个实体(类)可以与多个其他实体(类)关联。在这个关系中,一个实体(通常是"one"端)对应多个实体实例("many"端)。在数据库中,...

    hibernate one-to-many 单/双向关联映射配置心得

    本文主要关注Hibernate中的一个核心概念——一对一(One-to-One)、一对多(One-to-Many)和多对一(Many-to-One)关联映射,特别是关于“一到多”单向和双向关联映射的配置心得。 首先,让我们了解“一到多”关联...

    Hibernate-one-to-many

    本文将深入探讨Hibernate中一对多(One-to-Many)关系的处理方式,特别是通过外键映射和inverse属性的应用场景。 #### 一对多关系概念 一对多关系在数据库设计中非常常见,它指的是一个实体可以与多个其他实体关联...

    基于注解的关联关系Hibernate

    在这个“基于注解的关联关系Hibernate”的主题中,我们将深入探讨如何使用Hibernate的注解来配置不同类型的关联关系,包括一对一(One-to-One)、一对多(One-to-Many)、多对一(Many-to-One)和多对多(Many-to-...

    hibernate一对一关联关系

    在实体类之间,Hibernate支持多种关联关系,包括一对一(One-to-One)、一对多(One-to-Many)和多对多(Many-to-Many)。本资源主要探讨的是“hibernate一对一关联关系”。 一对一关联关系在现实世界中很常见,...

    hibernate的关联映射

    - **主键关联**(Single-Table):在这种情况下,两个实体共享同一个主键。在映射文件中,我们使用`&lt;one-to-one&gt;`标签,并通过`constrained`属性来指定约束。例如,Person和IdCard的单向关联映射可以通过以下方式...

    Hibernate映射一对多关联关系

    - **概念解析**:一对多(One-to-Many)关联关系的概念及其在Hibernate中的实现方式。 - **域模型设计**:创建具有一个实体与多个实体关联的域模型。 - **关系模型构建**:在数据库层面构建一对多的关系模型。 - **...

    Hibernate关联关系.doc

    在Hibernate配置中,User.hbm.xml定义`&lt;one-to-one&gt;`,Userinfo.hbm.xml定义`&lt;many-to-one&gt;`。 - **一对一主键关联**:两个实体共享同一个主键。这种方式下,我们可以使用Hibernate的`foreign`主键生成策略。例如,...

    Hibernate 一对多外键单向关联

    这里的`many-to-one`元素表示Address与Person的一对多关联,column属性指定了外键列的名称,class属性指定了Person实体的全限定类名,cascade属性可以指定级联操作。 在实际使用中,可以通过Hibernate的Session接口...

Global site tag (gtag.js) - Google Analytics