鉴于各位的建议,看了一下spring data的资料。
找到了 org.springframework.data.jpa.domain.AbstractPersistable
(幻无极说的不准确。Persistable,只是声明这个类用id作为主键属性,并未声明ID生成策略)
仔细看了一下,AbstractPersistable的ID生成策略是 javax.persistence.GenerationType.AUTO
按照文档,这个策略并不是由数据库自动生成,而是容器自动生成。
请注意 这个容器其实是jpa容器,也就是entitymanager的容器。
当然,如果使用entitymanager的容器的自动生成,确实是与数据库无关,
只是不合我这种强迫症患者的口味而已。
另外,以前研究jpa时发现jpa不能识别entity父类的annotation,
本来以为是不支持,现在看到,是要用
@javax.persistence.MappedSuperclass加在类声明上。
(Very good,又可以考虑实现JPA的代码生成工具了。)
因此,可以实现自己的entity统一基类,加上MappedSuperclass,就是 superchinaren 所说的IDEntity。
剩下还有一个疑问,如果在父类中声明ID生成策略为 GenerationType.SEQUENCE。
这个sequence名称是按类建的,还是统一的一个呢?
有空做下实验......
分享到:
相关推荐
本压缩包文件"04_JPA详解_第一个JPA实例与JPA主键生成策略.zip"包含了关于如何在实际项目中运用JPA,以及理解JPA主键生成策略的详细教程。 ### JPA基础 1. **JPA简介**: JPA是Java EE的一部分,它提供了一套规范,...
通过以上步骤,你就成功地搭建了JPA环境,并理解了如何创建JPA实体和设置主键生成策略。继续深入学习,你将能够利用JPA的强大功能,如查询语言(JPQL)、级联操作、事务管理等,来更高效地进行数据库操作。
### JPA主键生成策略详解 #### 一、概述 持久化对象的主键生成机制在JPA(Java Persistence API)中占据着重要的位置。它不仅关乎数据的唯一标识符如何确定,还与数据的存储效率及应用逻辑紧密相关。JPA通过`@...
"java自动生成id策略"指的是设计并实现一种机制,确保在多线程环境下能够高效、唯一地生成ID。这里我们将详细探讨这个主题,以及如何根据描述实现这样的策略。 首先,ID的生成通常要求满足以下条件: 1. 唯一性:...
【标题】"04_传智播客JPA详解_第一个JPA实例与JPA主键生成策略"涉及的关键知识点主要包括Java Persistence API (JPA)的基础应用、首个JPA实例的创建以及JPA主键生成策略的理解和配置。JPA是Java平台上的一个标准,...
JPA代码生成器 1.生成domain dao ,service, mvc文件 2.对应的框架有JPA,spring MVC ,HIBERNATE 3.默认文件生成目录在D:\CODEGEN,直接修改工程源码即可 4.运行方法:JDBCCodeGenerator ,修改public static void ...
在Java开发领域,Spring Boot和JPA(Java Persistence API)是两个非常重要的框架。Spring Boot简化了Spring应用程序的创建和配置过程,而JPA作为Java的ORM(对象关系映射)标准,允许开发者以面向对象的方式操作...
本工具可以根据数据库表自动生成JPA开发所需的实体JavaBean(带有jpa主注解)、repository及service类,提高开发效率;目前支持数据库:MYSQL;并提供配合演示使用的demo项目。
而Hibernate提供了跨数据库的主键生成策略,例如`native`策略,它会根据底层数据库自动选择合适的主键生成方式(如MySQL的自动增长ID或Oracle的序列)。 在JPA中,通过`@GenericGenerator`注解可以定义主键的生成...
@Id注解用于标识主键,@GeneratedValue则用于指定主键生成策略。例如,如果你使用的是自动增长的主键,可以设置@GeneratedValue(strategy=GenerationType.AUTO)。 3. **PersistenceContext**:Spring JPA使用...
在OpenJPA中,实体标识(Entity Identifier)的生成策略是数据持久化过程中不可或缺的一部分,因为确保实体的唯一性对于数据库的正确性和一致性至关重要。OpenJPA提供了四种不同的策略来生成实体标识,使得开发者...
只要1分就可获得JPA主键生成策略,很全的哦
- 通过使用JPA的注解,如`@Entity`(表示这是一个实体类)、`@Table`(指定数据库表名)、`@Id`(标识主键)、`@GeneratedValue`(主键生成策略)等,可以对JavaBean进行更精细的配置。 5. **使用生成的JavaBean**...
标题“使用表的id生成”涉及的是数据库管理和Java Persistence API (JPA) 中的一个关键概念:主键生成策略。在数据库表中,每个记录通常都有一个唯一的标识符,即主键,用于唯一地识别每条数据。在JPA中,有多种策略...
**Java Persistence API (JPA)** 是Java平台上的一个标准,用于管理关系数据库中的对象-关系映射(ORM)。它提供了一种方式,让开发者可以用面向对象的编程模型来操作数据库,而无需直接编写SQL语句。JPA允许你在...
Java持久化API(Java Persistence API,简称JPA)是Java平台上的一个ORM(对象关系映射)标准,它为开发者提供了在Java应用中管理和存储数据的框架。JPA的主要目标是简化数据库操作,使得开发人员可以使用面向对象的...
只需定义一个接口,该接口继承自Spring Data提供的Repository接口,并指定实体类和ID类型,Spring Data JPA就会自动生成对应的实现,包含基本的CRUD操作。 2. **Query 方法**:在Repository接口中,可以定义方法名...
JPA是Java平台上的一个标准,用于管理关系数据库中的数据,而Spring Data JPA是Spring Framework的一个模块,它为JPA提供了一个高级的抽象层,简化了数据访问。下面我们将深入探讨Spring Boot集成JPA实现数据库表...
在Java的持久化框架中,如JPA(Java Persistence API)和Hibernate,主键生成策略是数据模型设计的重要部分。主键通常是表中唯一标识记录的一列或一组列,用于确保数据的完整性和唯一性。本篇文章将深入探讨JPA的4种...
赠送jar包:hibernate-jpa-2.1-api-1.0.2.Final.jar; 赠送原API文档:hibernate-jpa-2.1-api-1.0.2.Final-javadoc.jar; 赠送源代码:hibernate-jpa-2.1-api-1.0.2.Final-sources.jar; 赠送Maven依赖信息文件:...