the three strategies:
- table per class hierarchy
- table per subclass
- table per concrete class
1.Table per class hierarchy
Suppose we have an interface Payment with the implementors CreditCardPayment and CashPayment. The table per class hierarchy mapping would display in the following way:
<class name="Payment" table="PAYMENT">
<id name="id" type="long" column="PAYMENT_ID">
<generator class="native"/>
</id>
<discriminator column="PAYMENT_TYPE" type="string"/>
<property name="amount" column="AMOUNT"/>
...
<subclass name="CreditCardPayment" discriminator-value="CREDIT">
<property name="creditCardType" column="CCTYPE"/>
...
</subclass>
<subclass name="CashPayment" discriminator-value="CASH">
...
</subclass>
</class>
Exactly one table is required. There is one limitation of this mapping:columns declared by the subclass cannot have
not null constraints.
分享到:
相关推荐
在IT行业中,数据库映射和对象关系映射(ORM)框架是开发人员处理数据库操作的重要工具。其中,iBATIS(现在称为MyBatis)是一个流行的选择,它允许程序员将SQL查询直接集成到Java代码中,提高了灵活性和性能。...
6. Inheritance Mapping(继承映射) Hibernate支持单表继承、联合继承和表-per-hierarchy三种继承策略。在XML映射文件中,可以使用`<subclass>`或`<joined-subclass>`元素来定义子类,而在注解方式下,可以使用`@...
6. **Inheritance Mapping**:对于继承关系的映射,Hibernate 提供了单表继承(Single Table Inheritance)、联合继承( Joined Table Inheritance)和表 per 类继承(Table per Concrete Class Inheritance)三种...
五、继承映射(Inheritance Mapping) Hibernate支持单表继承(Single Table Inheritance)、联合继承( Joined Table Inheritance)和表格分区继承(Table Per Concrete Class)。例如,使用`@Inheritance(strategy...
5. **继承映射(Inheritance Mapping)** Hibernate支持单表继承(@Inheritance(strategy=InheritanceType.SINGLE_TABLE))、联合继承(@Inheritance(strategy=InheritanceType.JOINED))和表-per-hierarchy继承(@...
9. **继承映射(Inheritance Mapping)** - **单表继承(Single Table Inheritance)**: 所有子类都存储在同一张表中,通过一个类型字段区分不同子类。 - **表-per-class 继承(Table per Class Inheritance)**: ...
最后,书中可能还会讨论一些高级主题,如Hibernate的联合映射(Association Mapping)、继承映射(Inheritance Mapping)、复合主键(Composite Key)以及自定义类型(Custom Types)。这些特性允许开发者构建更复杂...
9. Inheritance Mapping 9.1. The Three Strategies 9.1.1. Table per class hierarchy 9.1.2. Table per subclass 9.1.3. Table per subclass, using a discriminator 9.1.4. Mixing table per class hierarchy ...
十、Inheritance Mapping Hibernate支持三种继承映射策略:Single Table、Table Per Class Hierarchies 和 Table Per Subclass。 十一、Hibernate事件监听 允许自定义监听器,如PreInsertEventListener、...
7. **继承映射(Inheritance Mapping)**:Hibernate支持类的继承关系映射,如单表继承、联合继承和表-per-class策略。`@Inheritance`注解和其子策略`@Inheritance(strategy=InheritanceType.SINGLE_TABLE)`等用于...
12. **Inheritance Mapping** Hibernate支持单表继承(Single Table Inheritance)、联合继承( Joined Table Inheritance)和表 per 类层次(Table per Class Hierarchy)的继承映射策略。 13. **延迟加载(Lazy ...
10. **Inheritance Mapping**:Hibernate支持单表继承、联合继承和表-per-hierarchy的继承策略,可以根据实际需求选择合适的映射方式。 综上所述,Hibernate框架是Java Web开发中不可或缺的一部分,它通过强大的ORM...
- **继承映射(Inheritance Mapping)**: 支持单表继承(@Inheritance(strategy=InheritanceType.SINGLE_TABLE))和分表继承(@Inheritance(strategy=InheritanceType.JOINED))等策略。 - **查询(Querying)**: ...
11. **继承映射(Inheritance Mapping)**:Hibernate支持单表继承、联合继承和表格 per 类型的继承策略,使对象模型的继承结构能够映射到数据库中。 12. **懒加载(Lazy Loading)**:这是一种优化策略,允许延迟...
9. **继承映射(Inheritance Mapping)**:Hibernate提供了单表继承、联合继承和表格分片等多种策略来处理Java类的继承关系在数据库中的映射。 10. **级联操作(Cascading)**:级联操作允许将一个实体的操作(如...
Hibernate支持多种数据库关系映射,如一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)关系,以及关联映射(Association Mapping)、继承映射(Inheritance Mapping)等。...
10. **继承映射(Inheritance Mapping)**:允许在数据库中表示类的继承关系,如单表继承、联合继承和表-per-class继承策略。 11. **延迟加载(Lazy Loading)**:Hibernate允许对象的部分属性或关联对象在需要时才...
10. **Inheritance Mapping**:Hibernate提供了单表继承、联合继承和表 per class 继承等多种方式,将类继承结构映射到数据库。 使用Hibernate API,开发者可以极大地简化数据库操作,提高开发效率,减少出错的可能...