`
ynp
  • 浏览: 437945 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

@MappedSuperclass的用法

 
阅读更多
@MappedSuperclass的用法
用在实体的继承过程中的父类上;

父类Cat
package com.xj.model;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;

@MappedSuperclass
public class Cat {
	private Long id;
	private String name;
	@Id
	@GeneratedValue
	public Long getId() {
		return id;
	}
	public void setId(Long id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
}


子类1 BeijingCat
package com.xj.model;

import javax.persistence.Entity;
import javax.persistence.Table;

@Entity
@Table(name="t_beijingcat")
public class BeijingCat extends Cat {
	private String beijing;

	public String getBeijing() {
		return beijing;
	}

	public void setBeijing(String beijing) {
		this.beijing = beijing;
	}

}


子类2 ShanghaiCat
package com.xj.model;

import javax.persistence.Entity;
import javax.persistence.Table;

@Entity
@Table(name="t_shanghaiCat")
public class ShanghaiCat extends Cat {
	private String shanghai;

	public String getShanghai() {
		return shanghai;
	}

	public void setShanghai(String shanghai) {
		this.shanghai = shanghai;
	}
}


结果生成 两张表t_beijingcat、 t_shanghaicat

如果不用@MappedSuperclass 而用@Entity替换的话,只会生成一张cat表,字段有:id,name,shanghaicat,bejingcat

分享到:
评论
1 楼 MySpringDay 2014-06-03  
简洁易懂  

相关推荐

    hibernate常见异常针对于jpa

    3. **注解限制:** 使用`@MappedSuperclass`注解的类不能同时使用`@Entity`或`@Table`注解。 **示例代码:** 假设有一个基类`BaseEntity`,其中包含了`id`属性,这个类被多个子类继承,如`User`和`Product`。在这种...

    JPA批注.pdf

    Java Persistence API (JPA) 是 Java 平台标准的 ORM(对象关系映射)规范,它提供了管理 Java 应用程序中的持久化数据的方法。JPA 的核心优势在于它能够简化数据库操作,并允许开发人员以面向对象的方式处理数据库...

    EComDashboard

    在Java中,`@MappedSuperClass`是Hibernate提供的一个注解,它用于标记那些不直接映射到数据库表,但含有可继承字段或方法的抽象类。当一个类被这个注解标识时,它的属性和方法会被其子类继承,并且这些属性和方法会...

    JPA框架新技术: 注解

    本文将详细介绍JPA框架中的常用注解及其使用方法,并结合具体的Java代码示例进行说明。 #### 二、JPA注解基础 JPA框架支持使用注解来定义实体类与数据库表之间的映射关系,极大地简化了配置工作。要使用JPA注解,...

    jpa批注参考

    Java持久化API (JPA) 是Java企业版5(JavaEE5) Enterprise JavaBean (EJB) 3.0规范的一部分,它的引入极大地简化了EJB的持久化过程,同时也提供了一种声明式的方法来定义Java对象如何被映射到关系数据库表中,这种...

    jpa/hibernate继承注解

    `@MappedSuperclass`是一个非实体注解,用于那些包含要继承到实体类的字段和方法的类。这个类本身不会在数据库中映射为一个表,而是作为其他实体类的元数据提供者。 6. **继承和懒加载(Lazy Loading)** 当涉及...

    springboot初学者注解详解 springboot注解.docx

    - **作用**:当使用 `@ResponseBody` 注解时,方法的返回值将被序列化为指定格式(如 JSON)并直接写入 HTTP 响应体,而不是作为视图名称解析。 ##### 8. `@RequestBody` - **定义**:用于接收前端传来的 JSON ...

    JPA注解的解释和说明.pdf

    本文将详细介绍JPA中常用注解的使用方法和技巧。 @Entity:此注解用于声明一个类是实体类,并且该类中的对象会被映射到数据库表。实体类通常需要使用@Table注解来指定具体的数据库表名称。当实体类的名称和数据库表...

    hibernate教程

    本文档主要介绍了使用Hibernate进行注解式开发的方法,并且针对Hibernate的基本使用及其配置进行了详尽的解释。Hibernate作为一个流行的Java持久层框架,提供了对象关系映射(ORM)的功能,使得Java应用程序能够更加...

    jpa开放文档

    JPA允许开发者通过声明式的方法将Java对象映射到关系型数据库的表中,从而减少对底层数据库操作的编码量,提供可移植性,并使Java对象与数据库之间的转换变得标准化。 JPA的核心概念包括以下几个方面: 1. 实体...

    java JPA 批注参考

    JPA通过使用批注(Annotations)来配置实体的行为,使得无需编写XML配置文件即可实现ORM功能。批注是元数据的一种形式,它们直接嵌入到Java源代码中,并在运行时由JPA提供程序解析以执行相应的操作。 1. **实体批注...

    ejb3.0.ppt

    - 实体可以继承非实体类,反之亦然,但非实体类通常使用`@MappedSuperclass`注解,表示其为其他实体类提供公共属性和行为,而不直接参与数据库存储。 - 实体类可以是抽象类,抽象实体可以作为其他实体类的基类。 - ...

    北大青鸟HibernateCh12章项目

    1. **实体类(Entity)**:`Order.java`,定义了订单对象的属性和方法,通过注解@MappedSuperclass、@Entity、@Id等,将这些对象与数据库表中的记录对应起来。 2. **配置文件(Configuration)**:`hibernate.cfg....

    spring Spring MVC Hibernate 4.x 整合案例

    实体类通常会继承Hibernate的Entity接口,并使用注解@MappedSuperclass、@Table、@Id等来描述其在数据库中的映射关系。同时,编写DAO(Data Access Object)接口和实现,利用Hibernate的Session来执行SQL操作。 ...

    ejb 学习笔记7

    实体类可以继承非实体类,但是非实体类不会映射到数据库表中,这通常通过`@MappedSuperclass`注解来实现,用于共享属性而无需数据库表对应。 #### 基数映射详述 接下来,我们深入讨论了一对一、一对多以及多对多的...

    Springboot集成JPA,开箱即用.pdf

    Spring Boot与JPA的结合使用能够快速构建出稳定、高效的应用程序。 #### 2. pom文件配置 在`pom.xml`文件中,添加Spring Boot JPA的依赖: ```xml <groupId>org.springframework.boot <artifactId>spring-boot-...

    Hibernate_api.zip_hibernate api

    5. **Entity**:实体类代表数据库中的表,通过@MappedSuperclass、@Entity、@Table等注解与数据库建立关联。 6. **Mapping**:映射文件或注解定义了对象与数据库表的对应关系,包括字段映射、主键生成策略、关联...

    JPA注解参考文档.txt

    批注是一种使用元数据修饰Java源代码的方法,它们会被添加到相应的Java类文件中,以便在运行时由JPA持久性提供程序解析以管理JPA行为。 #### 四、JPA注解详细解释 ##### 1. **实体注解** - **@Entity**:标记一个...

    如何使用SpEL表达式实现动态分表查询

    抽象实体是继承自@MappedSuperclass注解的实体,包含了公共的字段和方法。在本例中,抽象实体AbstractMappedType包含了id和name两个字段,分别对应了id和name两个列。 建立17/18年表对应的实体 建立17年和18年表...

Global site tag (gtag.js) - Google Analytics