`

jpa继承关系中的TABLE_PER_CLASS无法使用自增主键

阅读更多

在看petclinic时,发现pojo都继承自一个基类,此基类含有id属性。由于petclinic是使用xml文件配置hibernate的,所以只要在配置文件中写明id的property即可。但是我在迁移至jpa发现,使用jpa继承关系中的TABLE_PER_CLASS,且在基类中设置id为@GeneratedValue(strategy=GenerationType.AUTO),导出的ddl建表语句没有自增。google之,原因如下:

Setting subclass primary key as auto_increment using JPA 2 annotations

分享到:
评论

相关推荐

    使用jpa映射关联和继承

    在Java世界中,Java Persistence API(JPA)是用于对象关系映射(ORM)的一种标准框架,它允许开发者将数据库操作与业务逻辑紧密结合,而无需编写大量的SQL代码。本篇文章将深入探讨如何在JPA中映射关联和实现继承。...

    JPA视频教程_使用jpa映射关联和继承

    - **表-per-class (Table per Class Inheritance)**:每个子类都有一个独立的表,不包含基类的属性,使用`@Inheritance(strategy=InheritanceType.TABLE_PER_CLASS)`。 选择合适的继承策略取决于你的业务需求和数据...

    JPA技术.zip_JPA开发文档_SpringBoot JPA

    9. **继承策略**:JPA提供了单表继承(Single Table Inheritance)、联合继承( Joined Table Inheritance)、表分离继承(Table per Class Inheritance)等策略,以处理复杂的类继承关系。 10. **查询语言**:Java...

    JPA详细文档(JPA 批注参考)

    - `@Inheritance` 和 `@InheritanceType`:定义实体继承策略,如SINGLE_TABLE、JOINED或TABLE_PER_CLASS。 通过这些批注,开发者可以精细控制实体类与数据库表之间的映射关系,以及处理各种复杂的关系和继承结构。...

    jpa.rar_Java JPA

    JPA支持多种继承策略,如单表继承(Single Table)、联合继承(Table per Class Hierarchy)和分层继承(Table per Concrete Class)。这些策略影响了子类如何在数据库中表示,以及查询时如何处理继承层次结构。 四...

    JPA标签(注解)详细说明

    - 在JPA中,实体类可以继承,通过`@Inheritance`注解可以定义继承策略,如单表继承(SINGLE_TABLE)、联合继承(JOINED)和子类表继承(TABLE_PER_CLASS)。 以上就是JPA中常用的一些注解及其功能,它们极大地简化...

    JPA学习笔记

    JPA支持单表继承(InheritanceType.SINGLE_TABLE)、联合继承(InheritanceType.JOINED)和表-per-hierarchy(InheritanceType.TABLE_PER_CLASS)三种继承策略。 ### 五、JPQL(Java Persistence Query Language) ...

    持久化对象的标准JPA

    3. **表分片继承(Table per Concrete Class Inheritance)**:每个具体类都对应一个表,没有单独的基类表。 **主键(组合主键,主键生成策略)** JPA提供了多种主键生成策略: 1. **Identity(标识符)**:由...

    java程序使用JPA注解详解

    Java 程序使用 JPA 注解可以实现对象关系映射(ORM),使得 Java 应用程序能够与关系数据库进行交互。JPA(Java Persistence API)提供了多种注解来定义实体类与数据库表之间的映射关系。 @Table 注解 @Table 注解...

    JPA API CHM

    JPA支持多种继承策略,如SINGLE_TABLE、JOINED和TABLE_PER_CLASS,它们决定了如何将继承层次结构映射到数据库。 **7. Relationships** JPA支持多种关系映射,包括一对一(OneToOne)、一对多(OneToMany)、多对一...

    EJB3_JPA文档

    JPA支持单表继承(Single Table Inheritance)、联合继承( Joined Table Inheritance)和表格分层继承(Table Per Class Inheritance),允许开发者根据业务需求设计复杂的实体继承结构。 2. 联合主键(Composite ...

    java程序使用JPA注解详解.zip

    8. `@Inheritance`: 用于处理继承关系,通过`InheritanceType.SINGLE_TABLE`(单表继承)、`InheritanceType.JOINED`(联合继承)和`InheritanceType.TABLE_PER_CLASS`(每类一张表)策略,控制子类在数据库中的存储...

    JPA的基本概念基础知识

    - **EJB3实现继承关系的映射**:使用`@Inheritance`和`@InheritanceType`注解来定义继承策略,如SINGLE_TABLE、JOINED或TABLE_PER_CLASS。 ### 9. 应用程序管理EntityManager 通过`Persistence....

    jpa 批注参考 doc 格式 提供了一个对象关系映射方法

    - `@Inheritance`:定义实体类之间的继承策略,如SINGLE_TABLE、JOINED或TABLE_PER_CLASS。 - `@DiscriminatorColumn`:在继承树中定义区分列。 - `@DiscriminatorValue`:为子类指定区分值。 JPA的批注提供了极...

    java程序使用JPA注解详解.doc

    JPA 使用注解来定义实体类与数据库表之间的映射关系,本文将详细介绍 JPA 注解的使用。 一、@Table 注解 @Table 注解用于定义实体类对应的数据库表的名称、目录和模式等属性。元数据属性说明: * name:表名,...

    ejb3.0.ppt

    - **@Inheritance** 注解: 用于指定继承策略,如 `strategy=InheritanceType.SINGLE_TABLE`、`strategy=InheritanceType.JOINED` 或 `strategy=InheritanceType.TABLE_PER_CLASS`。 - **@DiscriminatorColumn** 和 ...

    学习hibernate必读,JPA2新特征和JPA2映射的神秘之旅。

    - **继承映射**:支持单表继承(Single Table Inheritance)、联合继承(Joined Table Inheritance)和表-per-class-hierarchy策略。 - **关联映射的级联操作**:如`CascadeType.ALL`,可将操作自动应用到关联的...

    jpa用户使用指南 英文版

    - **继承:** 支持多种继承策略,如 TABLE_PER_CLASS、SINGLE_TABLE 等。 - **持久字段:** 实体类中的字段必须声明为持久化。 ##### 4.2 实体身份 - **身份类:** 使用复合主键的情况。 - **身份层次结构:** 在...

    JPA注解帮助文档

    本文档主要介绍了 JPA 中使用的各种注解及其应用场景,这些注解极大地简化了实体类的配置过程,使得开发人员能够更专注于业务逻辑的实现而不用过多关注底层的持久化细节。 #### 二、实体类注解 ##### 1. @Entity -...

Global site tag (gtag.js) - Google Analytics