`

hibernate的join标签

阅读更多
<?xml version="1.0"?>
<!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.citigroup.cib.marx.curve.CDSCurveDefinition"
table="instrument" lazy="false"><!--cds_curve where="status='ok'"-->

<id name="curveId" column="instrument_id" type="integer">
<generator class="assigned" />
</id>

<many-to-one name="instrumentType" column="instrument_code"
class="com.citigroup.cib.marx.curve.InstrumentType" lazy="false"/>
<property name="instrumentDetails" column="instrument_details"
type="com.citigroup.cib.marx.persistence.util.TrimmedString" />
<many-to-one name="owner" column="owner_code"
class="com.citigroup.cib.marx.businessOrg.Desk" lazy="false" />

<property name="status" column="status"
type="com.citigroup.cib.marx.persistence.util.TrimmedString" />
<property name="enteredDate" column="entered_date" />
<property name="enteredUser" column="entered_user"
type="com.citigroup.cib.marx.persistence.util.TrimmedString" />

<set name="levels" cascade="all" inverse="true"
collection-type="com.citigroup.cib.marx.levels.collections.LevelCollectionType">
<key column="instrument_id" />
<one-to-many class="com.citigroup.cib.marx.levels.CDSLevel" />
</set>

<join table="cds_instrument" optional="false">
<key column="instrument_id"/>
<many-to-one name="referenceEntity" column="issuer_id" fetch="join"
lazy="false"
class="com.citigroup.cib.marx.referenceData.MarxReferenceEntity" />
<many-to-one name="subord" lazy="false"
class="com.citigroup.cib.marx.referenceData.Tier" />
<many-to-one name="currency" lazy="false"
class="com.citigroup.cib.marx.shared.Currency" />
<many-to-one name="source" column="source" lazy="false"
class="com.citigroup.cib.marx.referenceData.Source" />
<many-to-one name="type" lazy="false"
class="com.citigroup.cib.marx.curve.CurveType" />

<property name="curve" column="external_name"
type="com.citigroup.cib.marx.persistence.util.TrimmedString" />
<!--  <property name="recovery" /> -->
<property name="path"
type="com.citigroup.cib.marx.persistence.util.TrimmedString" />
<property name="creditEntityId" column="credit_entity_id" />
<property name="inactiveDate" column="inactive_date" />
<property name="shortCode" column="short_code"
type="com.citigroup.cib.marx.persistence.util.TrimmedString" />
<many-to-one name="rollType" column="roll_type"
class="com.citigroup.cib.marx.referenceData.RollType" lazy="false"/>
<property name="maturityDate" column="maturity_date" />

<property name="keyVersion" column="keyversion" />
<property name="active" column="isActive" type="boolean"/>
<property name="stale" column="isStale" type="boolean"/>
<property name="defaulted" column="isDefaulted" type="boolean"/>
<property name="clearingEligible" column="isClearingEligible" type="boolean"/>
<property name="defaultDate" column="defaultDate" />
<property name="noticeDate" column="noticeDate" />
<property name="settlementDate" column="settlementDate" />
<many-to-one name="docClause" column="doc_clause" class="com.citigroup.cib.marx.curve.DocClause" lazy="false"/>
<many-to-one name="txnTypeCurveExt" column="transaction_type" class="com.citigroup.cib.marx.referenceData.ReferenceEntityTxnType" lazy="false"/>

<property name="cdsStatus" column="status"
type="com.citigroup.cib.marx.persistence.util.TrimmedString" />
<property name="cdsEnteredDate" column="entered_date" />
<property name="cdsEnteredUser" column="entered_user"
type="com.citigroup.cib.marx.persistence.util.TrimmedString" />
</join>

<join table="curve_rules" optional="true">
<key column="pr_curve_id" />
<many-to-one name="refCurve" column="ref_curve_id" cascade="save-update"
lazy="false"
class="com.citigroup.cib.marx.curve.CDSCurveDefinition" />
<property name="rulesType" column="type" type="com.citigroup.cib.marx.persistence.util.TrimmedString"/>
<property name="rulesIssuerId" column="issuer_id" type="integer"/>
<property name="rulesCurrency" column="currency" type="com.citigroup.cib.marx.persistence.util.TrimmedString"/>
<property name="rulesSubord" column="subord" type="com.citigroup.cib.marx.persistence.util.TrimmedString"/>
    <property name="rulesRefSource" column="ref_source" type="com.citigroup.cib.marx.persistence.util.TrimmedString"/>
<property name="defaultCurve" column="is_default" type="boolean"/>
<property name="rulesEnteredUser" column="entered_user" />
<property name="rulesEnteredDate" column="entered_date" />
</join>

<join table="blotter_curve" optional="true">
<key column="instrument_id"/>
<property name="bsecBloombergTicker3"
column="bloomberg_ticker3"
type="com.citigroup.cib.marx.persistence.util.TrimmedString"/>
<property name="bsecBloombergTicker"
column="bloomberg_ticker"
type="com.citigroup.cib.marx.persistence.util.TrimmedString"/>
<property name="bsecBloombergTicker7"
column="bloomberg_ticker7"
type="com.citigroup.cib.marx.persistence.util.TrimmedString"/>
<property name="bsecBloombergTicker10"
column="bloomberg_ticker10"
type="com.citigroup.cib.marx.persistence.util.TrimmedString"/>
<property name="bsecFlag" column="manifold_flag"/>
<property name="bsecComment" column="comment"
type="com.citigroup.cib.marx.persistence.util.TrimmedString"/>
<property name="bsecEnteredDate" column="entered_date"/>
<property name="bsecEnteredUser" column="entered_user"
type="com.citigroup.cib.marx.persistence.util.TrimmedString"/>
</join>
</class>
</hibernate-mapping>
分享到:
评论

相关推荐

    hibernate源码

    Hibernate支持主键关联(Primary Key Join)和外键关联(Unique Foreign Key Join)两种方式。主键关联是通过两个实体共享同一主键来实现,而外键关联则是通过在一方或双方创建一个指向另一方的外键字段。 4. **...

    hibernate-aop

    这通常通过在`&lt;aop:config&gt;`标签内添加`&lt;aop:aspect&gt;`标签来实现。在这里,你可以定义切面(Aspect),也就是包含通知(Advice)的类,通知是AOP中的核心概念,它们定义了在特定连接点(Join Point)执行的代码。 ...

    hibernate的对应关系

    - 使用`@ManyToMany`注解在两个实体类上,同时可能需要定义`@JoinTable`来指定中间表。 3. **数据库表设计** - 创建一个中间表,包含两个外键,分别对应两个实体的主键。 以上就是Hibernate中一对一、一对多和多...

    hibernate面试题.doc

    - 在配置文件中预定义命名查询,如在`.hbm.xml`文件中的`&lt;query&gt;`标签,便于重复使用。 - 在查询中使用JOIN操作,例如`from Customer as customer join fetch customer.buySet`实现Eager Loading,一次性加载关联...

    Hibernate集合映射

    Hibernate提供了`&lt;order-by&gt;`和`&lt;composite-element&gt;`标签来实现集合元素的排序,以及`&lt;bag&gt;`集合类型来支持无序集合。对于复杂的数据结构,如嵌套集合,可以使用`&lt;composite-element&gt;`定义复合元素。 综上所述,...

    用Hibernate映射继承关系

    例如,使用XML配置,我们可以在`&lt;class&gt;`标签下添加`&lt;inheritance&gt;`子标签,指定`strategy`属性为相应的继承策略。如果是使用注解,我们可以使用`@Inheritance`和`@Inheritance(strategy = InheritanceType.SINGLE_...

    HIBERNATE检索策略

    标题:“HIBERNATE检索策略” 描述:本文深入解析了HIBERNATE的检索策略,为读者提供了一条清晰的学习路径,重点分析了HIBERNATE中的抓取策略及其应用场景,帮助开发者更有效地管理和优化数据加载过程。 在...

    Hibernate实战笔记

    - **延迟检索**:通过在`&lt;class&gt;`标签中设置`lazy="true"`来启用。该策略下,只有在真正需要访问关联对象时才进行查询。 - **关联级别检索策略**: - **立即检索**:`lazy="false"`且`outer-join="false"`。默认...

    Hibernate总结——课程管理

    在Hibernate中,这种关系可以通过`&lt;many-to-many&gt;`标签来配置。我们需要创建两个实体类:`Student`和`Course`,并在它们之间建立关联。关联映射通常包含在实体类的映射文件或使用JPA注解中。 ```java @Entity ...

    hibernate list集合映射

    1. **XML配置**:在Hibernate的映射文件(.hbm.xml)中,使用`&lt;list&gt;`标签定义List集合映射。例如: ```xml ``` 这里的`name`属性指定了集合属性名,`table`是对应的数据库表名,`key`表示外键字段,`index...

    hibernate的查询学习.

    在Hibernate中,多对多关系通过`&lt;many-to-many&gt;`标签来定义。当两个实体之间存在多对多关联时,通常需要一个额外的中间表来存储这两个实体的关联关系。例如,在用户角色的例子中,用户和角色之间的多对多关系可以...

    [原]Hibernate集合映射

    在Hibernate配置文件中,我们通过`&lt;element&gt;`标签来指定元素的类型和字段映射。例如,如果集合元素是基本类型,我们可以直接映射;如果是复杂类型的对象,就需要指定对应的实体类。 3. **一对一(One-to-One)映射*...

    hibernate(user-role多对多映射)

    如果使用XML配置,需要在User和Role的映射文件中添加对应的`&lt;set&gt;`标签来描述多对多关系。 **四、操作示例** 1. **添加数据** 可以通过Session的`save()`或`saveOrUpdate()`方法添加新的User和Role实例,Hibernate...

    Hibernate 对集合属性的操作.zip_hibernate

    2. **集合映射配置**:在Hibernate的映射文件(.hbm.xml)中,我们需要为集合属性配置对应的标签。例如,对于List,我们可以使用`&lt;list&gt;`标签,对于Set使用`&lt;set&gt;`,对于Map使用`&lt;map&gt;`,并指定对应的键(key)和值...

    Hibernate基于外键的一对多单向关联

    “源码”标签意味着内容可能包含对Hibernate配置或Java代码的详细解释,可能涉及到XML映射文件或注解方式的代码示例。“工具”标签则暗示了讨论的是一个开发工具,即Hibernate,它是Java世界中用于数据库操作的重要...

    Hibernate ORM - 一对多双向连接表关联关系

    "工具"标签则暗示了Hibernate作为一种工具在实际开发中的应用。 **文件名称列表解析:** "HibernateORM"可能是包含有关Hibernate ORM框架的详细信息的文件夹或压缩包,里面可能包含示例代码、教程文档或其他资源,...

    hibernate多对多双向关联

    在Hibernate中,可以通过`@JoinTable`注解定义这个中间表,包括它的名字、连接两个实体的外键等信息。 4. **关联维护**:双向关联需要在两个实体之间保持同步。添加、删除关联时,需要同时更新两个实体的相关集合。...

    hibernate一对一之唯一外键关联(单向关联)

    配置XML映射文件的方式也类似,只是需要在`&lt;hibernate-mapping&gt;`标签内定义两个实体的映射关系: ```xml &lt;!-- User.hbm.xml --&gt; &lt;hibernate-mapping&gt; &lt;!-- 使用one-to-one标签声明一对一关联 --&gt; &lt;/...

    Hibernate4+Struts2+SQL写的简单的用户通讯录

    在这个通讯录系统中,我们需要了解如何定义Action类,配置struts.xml文件,以及如何利用Struts2的标签库来展示数据。 接着,SQL(结构化查询语言)是用于管理关系数据库的标准语言,它在这个项目中负责构建和操作...

Global site tag (gtag.js) - Google Analytics