`

21.hibernate继承映射table_per_class

阅读更多
t_gen_table表结构:

person表结构:

teacher表结构:

student表结构:

package entity;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Inheritance;
import javax.persistence.InheritanceType;
import javax.persistence.TableGenerator;

@Entity
@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)
@TableGenerator(
		name="t_gen",
		table="t_gen_table",//主键生成表名称
		pkColumnName="t_pk",//第一个字段名称(主键名称:属性名)
		valueColumnName="t_value",//第二个字段名称(保存上次的主键值:属性名)
		pkColumnValue="person_pk",//第一个字段值(主键名称值:属性值)
		initialValue=1,
		allocationSize=1
)
public class Person {
	
	private int id;
	private String name;
	
	@Id
	@GeneratedValue(generator="t_gen",strategy=GenerationType.TABLE)
	public int getId() {
		return id;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	
	
}



package entity;

import javax.persistence.Entity;

@Entity
public class Teacher extends Person {

	private String title;

	public String getTitle() {
		return title;
	}

	public void setTitle(String title) {
		this.title = title;
	}

}



package entity;

import javax.persistence.Entity;

@Entity
public class Student extends Person {

	private int score;

	public int getScore() {
		return score;
	}

	public void setScore(int score) {
		this.score = score;
	}

}

  • 大小: 2.9 KB
  • 大小: 2.5 KB
  • 大小: 3.3 KB
  • 大小: 3 KB
分享到:
评论

相关推荐

    HibernateDemo003_TABLE_PER_CLASS.rar_class

    综上所述,"HibernateDemo003_TABLE_PER_CLASS.rar_class"这个示例着重展示了如何在Hibernate中利用@TablePerClass策略处理类继承关系,并自动生成相应的数据库表。通过理解和实践这一策略,开发者能够更好地掌握...

    Hibernate继承映射代码

    Hibernate提供了四种继承策略:单表继承(Single Table Inheritance)、联合继承( Joined Table Inheritance)、表 per 类继承(Table per Class Inheritance)以及分层继承(Concrete Table Inheritance)。...

    Hibernate继承映射(annotation)

    **标题:“Hibernate继承映射(Annotation)详解”** 在Java持久化框架Hibernate中,继承映射是一种关键特性,它允许开发者将对象模型的继承结构映射到数据库的表结构。在使用注解的方式进行配置时,这个过程变得更加...

    Hibernate教程17_继承映射_补充1

    总之,"Hibernate教程17_继承映射_补充1"的源码涵盖了如何使用Hibernate将Java类的继承结构映射到数据库中的"Table Per Class"策略。通过学习这个教程,开发者可以更好地理解和利用Hibernate的继承映射功能,以适应...

    Hibernate教程17_继承映射_补充2

    - Hibernate提供了四种继承映射策略:`SINGLE_TABLE`、`JOINED`、`TABLE_PER_CLASS` 和 `MAPPED_SUPERCLASS`。每种策略都有其适用场景。 - `JOINED`策略适用于那些子类数据较少或者子类数量较多的情况,因为它能...

    Hibernate继承映射-概述

    《Hibernate继承映射详解》 在Java开发中,对象关系映射(ORM)框架如Hibernate大大简化了数据库操作。Hibernate不仅提供了对基本数据类型的映射,还支持复杂的数据结构,如继承关系的映射。本篇文章将深入探讨...

    Hibernate继承映射的第一种策略:每棵类继承树对应一张表

    在Java世界中,ORM(对象关系映射)框架如Hibernate极...但在大型项目或复杂的类继承结构中,可能需要考虑其他策略,如`JOINED`或`TABLE_PER_CLASS`。理解并合理应用这些策略,是优化Java应用程序与数据库交互的关键。

    hibernate Table per class hierarchy 例子代码

    在Java的持久化框架Hibernate中,"Table per Class Hierarchy"是一种继承映射策略,它在数据库层面将类继承关系转换为单一表的结构。这种策略适用于子类相对较少,且共享很多公共属性的情况,因为它避免了为每个子类...

    hibernate继承映射.rar

    Hibernate提供了四种继承策略:单表继承、联合继承、表-per-hierarchy和表-per-class。 二、单表继承(Single Table Inheritance) 单表继承是最简单的一种策略,所有继承类的数据都存储在同一个表中。通过一个...

    Hibernate教程17_继承映射

    在Hibernate中,继承映射主要有三种策略:单表继承(Single Table Inheritance)、联合继承( Joined Table Inheritance)和表格-per-类继承(Table per Concrete Class)。本教程可能主要关注的是单表继承,这也是...

    hibernate关联映射实例

    TPH将所有类的属性都放入一张表,使用`@Inheritance(strategy=InheritanceType.SINGLE_TABLE)`、`@Inheritance(strategy=InheritanceType.JOINED)`或`@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)`来...

    用Hibernate映射继承关系

    本主题聚焦于“用Hibernate映射继承关系”,我们将深入探讨Hibernate如何处理对象的继承层次结构,并将其映射到数据库中的表。 Hibernate支持多种继承策略,包括单一表继承(Single Table Inheritance)、联合表...

    Hibernate继承映射一:每个类分层结构一张表

    本篇文章主要探讨的是Hibernate的继承映射策略,特别是“每个类分层结构一张表”(Table per Concrete Class)的方式。这种映射策略是Hibernate提供的多种继承映射方案之一,适用于处理复杂的对象模型。 首先,我们...

    Hibernate继承映射的第一种策略:每个类对应一张表

    Hibernate提供了多种继承映射策略,其中最常见的是单表策略(Single Table Strategy)、子类表策略(Table per subclass)和联合表策略(Concrete Table Inheritance)。 标题提到的“每个类对应一张表”策略,实际...

    Hibernate继承映射二:每个子类一张表

    本篇主要探讨的是Hibernate中的继承映射策略,特别是“每个子类一张表”(Table per subclass)的方式。这种方式也被称为单表继承或多表继承,是Hibernate支持的四种继承映射策略之一。了解并熟练掌握这种映射模式...

    Hibernate继承映射的第一种策略:每个具体类一张表

    本篇文章将详细探讨Hibernate继承映射的策略,特别是“每个具体类一张表”(Table Per Concrete Class)的映射方式。 在面向对象编程中,继承是常见的代码复用手段,但在关系型数据库中,这种概念并不直接对应。...

    Hibernate_3.2.0_符合Java习惯的关系数据库持久化

    9.1.6. Table per concrete class, using implicit polymorphism 9.1.7. 隐式多态和其他继承映射混合使用 9.2. 限制 10. 与对象共事 10.1. Hibernate对象状态(object states) 10.2. 使对象持久化 10.3. 装载...

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

    本文将深入探讨Hibernate中的继承映射(Inheritance Mapping)策略,这是处理对象模型中继承关系在数据库中的映射方式。 10.1. Hibernate继承映射的三种基本策略: 10.1.1. 每个类分层结构一张表(Table per class...

    Hibernate继承映射

    在实现继承映射时,我们需要在Hibernate的映射文件(.hbm.xml)中配置相关元素,如`<class>`, `<subclass>`, `<discriminator>`等,定义类与表的关系和继承结构。例如,对于单一表继承,我们可能会看到这样的配置: ...

Global site tag (gtag.js) - Google Analytics