`
zhangfengsimon
  • 浏览: 1105 次
  • 性别: Icon_minigender_1
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

joined-subclass中的一个疑问?

SQL 
阅读更多
joined-subclass中的一个疑问?

假设有父类Card  ,子类 Card_1,Card_2,Card_3
Code:为
[/list]
public class Card {
private Long id;
private String card_name;
//get/set方法省略
}

public class Card_1 extends Card {
private String card_1_filed;//get/set方法省略
}

public class Card_2 extends Card {
private String card_2_filed;//get/set方法省略
}

public class Card_3 extends Card {
private String card_3_filed;//get/set方法省略
}

metadata mapping file :

<hibernate-mapping package="hibernate.model" auto-import="false">
<class name="Card" table="superCard_join_2">
<id name="id" column="card_id">
<generator class="native" />
</id>
<discriminator column="card_type" type="string"></discriminator>
<property name="card_name" column="card_name" type="string" />

<subclass name="Card_1" discriminator-value="1">
<join table="Card_1_2" fetch="select">
<key column="card_id"></key>
<property name="card_1_filed" type="string"></property>
</join>
</subclass>

<subclass name="Card_2" discriminator-value="2">
<join table="Card_2_2" fetch="select">
<key column="card_id"></key>
<property name="card_2_filed" type="string"></property>
</join>
</subclass>

<subclass name="Card_3" discriminator-value="3">
<join table="Card_3_2" fetch="select">
<key column="card_id"></key>
<property name="card_3_filed" type="string"></property>
</join>
</subclass>

</class>
</hibernate-mapping>
[list=]

我做父类查询的时候生成的sql语句为:
select
        card0_.card_id as card1_0_,
        card0_.card_name as card2_0_,
        card0_1_.card_1_filed as card2_1_,
        card0_2_.card_2_filed as card2_2_,
        card0_3_.card_3_filed as card2_3_,
        case
            when card0_1_.card_id is not null then 1
            when card0_2_.card_id is not null then 2
            when card0_3_.card_id is not null then 3
            when card0_.card_id is not null then 0
        end as clazz_
    from
        superCard_join card0_
    left outer join
        Card_1 card0_1_
            on card0_.card_id=card0_1_.card_id
    left outer join
        Card_2 card0_2_
            on card0_.card_id=card0_2_.card_id
    left outer join
        Card_3 card0_3_
            on card0_.card_id=card0_3_.card_id

请问各位用什么方式才能将子类的left out join去掉呢?
分享到:
评论

相关推荐

    Ansible-netbox-joined-inventory.zip

    Ansible-netbox-joined-inventory.zip,netbox_joined_inventory是一个python脚本,它从netbox真实源收集数据,并将其存储为ansible inventory、group_vars和host_vars files.netbox_joined_inventory(用于网络设备...

    Hibernate映射继承关系的三种方案.docx

    2) **Joined-subclass映射**:这种策略将所有子类的数据存储在一个共享的表中,通过增加一个字段来区分不同子类。这个字段通常是一个类型标识符,用来识别实例属于哪个子类。这种方式节省了表的数量,但增加了表的...

    NX二次开发UF-CURVE-edit-joined-feature 函数介绍

    NX二次开发UF_CURVE_edit_joined_feature 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等领域的...

    NX二次开发UF-CURVE-ask-joined-parms 函数介绍

    NX二次开发UF_CURVE_ask_joined_parms 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等领域的专业...

    NX二次开发UF-CURVE-create-joined-curve 函数介绍

    NX二次开发UF_CURVE_create_joined_curve 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等领域的...

    NX二次开发UF-CURVE-create-joined-feature 函数介绍

    NX二次开发UF_CURVE_create_joined_feature 函数介绍,Ufun提供了一系列丰富的 API 函数,可以帮助用户实现自动化、定制化和扩展 NX 软件的功能。无论您是从事机械设计、制造、模具设计、逆向工程、CAE 分析等领域的...

    Hibernate笔记2

    在上面的映射文件中,我们首先定义了`Car`类的基本属性,并通过`joined-subclass`元素指定了其子类`Bus`和`Truck`的信息。这里`key`元素用于指定关联主键的字段。 #### 总结 通过上述内容的学习,我们可以看到在...

    jq-joined-text-entries:jQuery 插件虚拟连接 input-s 和 textarea-s 以进行导航

    #jq-joined-text-entries 在垂直导航中虚拟连接 input-s 和 textarea-s 的 jQuery 插件查看或检查test/simple.html 、 test/textarea.html 、 test/two-sets.html 用法: $ ( 'form' ) . find ( '.text-entry' ) . ...

    @hibernate Tag Reference

    @hibernate.joined-subclass(discriminator-value="dog") public class Dog extends Animal { // ... } ``` ##### 1.6 @hibernate.joined-subclass-key (0..1) **功能描述**:定义joined子类继承策略中的外键关联...

    hibernate 学习笔记4

    在这个关联表中,我们会定义两个外键,一个指向 `Student` 表的主键 (`sfid`),另一个指向 `Course` 表的主键 (`cfid`)。 在 Hibernate 映射文件 `student.hbm.xml` 中,这部分的配置如下所示: ```xml ...

    netbox-joined-inventory:Netbox_joined_inventory是一个Python脚本,它从Netbox的真实来源收集数据并将其存储为Ansible清单,group_vars和host_vars文件

    Netbox_joined_inventory是一个脚本,该脚本从Netbox收集数据作为事实来源,并将数据存储为Ansible清单,group_vars和host_vars。 Ansible清单将不包含配置数据-大多数配置数据存储在host_vars YAML文件中。 这不是...

    Hibernate3.1_学习源码

    配置文件:只配置父类的映射文件,在其中加入joined-subclass将两个子类实体映射关系添加 2) 数据库表:一张表,包括公共字段、特有字段、区分字段 实体层设计:与第一种方法设计一样,设计三个实体类,分父类和...

    Hibernate与HQL

    - **连接的子类映射**(`joined-subclass`):实现多表继承,每个子类有自己的表,通过`&lt;joined-subclass&gt;`元素映射。 ### Hibernate 查询语言 (HQL) HQL使我们能够用面向对象的方式来编写查询语句,避免了与SQL的...

    七年级英语下册Unit1Canyouplaytheguitar第5课时SectionB3a_selfcheck导学案无答案新版人

    形容词 "good" 通常修饰名词,如 "a good girl"(一个好女孩)。 4. **固定搭配** "be good with":表示与某人相处得好。例如: - Are you good with kids? 你与孩子相处得好吗? 5. **动词短语** "help sb with ...

    hibernate的继承映射(InheritanceMapping)[文].pdf

    但Hibernate不支持在同一阶级元素下混合使用&lt;subclass&gt;、&lt;joined-subclass&gt;和&lt;union-subclass&gt;。 10.1.5. 每个具体类一张表(Table per concrete class) 每个具体类(非抽象类)都有自己的表,不包括抽象类。这种...

    NHibernate中文帮助手册API

    连接的子类(joined-subclass)  5.1.15. 联合子类(union-subclass)  5.1.16. 连接  5.1.17. map, set, list, bag  5.1.18. 引用(import)  5.2. NHibernate 的类型  5.2.1. 实体(Entities)和值(values) ...

    MAPPING Hibernate方法小结.doc

    - **策略1**(joined-subclass):每个子类对应一个表,共享主键。 - **策略2**(discriminator):根类对应一个表,用识别字段区分子类。 - **策略3**:叶子类各自对应一个表,不支持多态查询。 - **关联**: ...

Global site tag (gtag.js) - Google Analytics