`

JPA的Id注解

阅读更多
JPA的Id注解
2008-07-22 16:12

@Id用于标记属性的主键,该注释的属性定义如下。

@Target({METHOD, FIELD}) @Retention(RUNTIME)

public @interface Id {}

一旦标注了主键,该实体属性的值可以指定,也可以根据一些特定的规则自动生成。这就涉及到另一个标记@GeneratedValue标记的使用。

@GeneratedValue用于主键的生成策略,该注释的属性定义如下。

@Target({METHOD, FIELD}) @Retention(RUNTIME)

public @interface GeneratedValue {

GenerationType strategy() default AUTO;

String generator() default "";

}

lstrategy属性表示生成主键的策略。有四种类型,分别定义在枚举类型GenerationType中,该枚举类型的值如下所示。

public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };

其中,默认为AUTO自动生成。

lgenerator为不同策略类型所对应的生成的规则名,它的值根据不同的策略有不同的设置。

l能够标识为主键的属性类型,如表所列举的几种。

表@Id标识的数据类型

分类

类型

Java的基本数据类型

byteintshortlongchar

Java基本数据类型对应的封装类

ByteIntegerShortLongCharacter

大数值型类

java.math.BigInteger

字符串类型

String

时间日期型

java.util.Datejava.sql.Date

doublefloat浮点类型和它们对应的封装类不能作为主键,这是因为判断是否唯一是通过equals方法来判断的,浮点型的精度太大,不能够准确的匹配。


分享到:
评论

相关推荐

    JPA的Id注解.docx

    JPA的Id注解.docx

    JPA注解实现联合主键

    本文档简单描述了注解实现联合主键类的生成

    JPA-2 基本注解

    JPA的基本注解主要包括@Entity、@Table、@Id、@GeneratedValue、@Basic、@Column、@Transient、@Temporal和@TableGenerator等。

    JPA学习笔记(二)——JPA 注解

    JPA注解1.1 @Entity1.2 @Table1.3 @Id1.4 @GeneratedValue1.5 @Basic1.6 @Column1.7 @Transient1.8 @Temporal1.9 @TableGenerator 1. JPA注解 1.1 @Entity 标注在实体类上,表示此类对应一个数据表。 1.2 @Table 与...

    hibernate常见异常针对于jpa

    hibernate常见异常,hibernatejpa注解使用开发的解决方案

    Generate POJOs.zip_Table_generate注解_jpa_letterwek_模板代码

    生成JPA的实体,带注解,包括@Entity,@Table(name=xx),@Id,@GeneratedValue,@Column(name=xx) 输出表和字段的注释,包含字段的类型长度 自动生成包名,sets、gets方法,自动判断数据类型并引包

    Hibernate注解

    * @Id —— 注解声明了该实体bean的标识属性(对应表中的主键)。 * @Table —— 注解声明了该实体bean映射指定的表(table),目录(catalog)和schema的名字 * @Column —— 注解声明了属性到列的映射。该注解有...

    jpa-entity-listener-hsqldb:示例 jpa 实体侦听器

    ####JPA Hibernate Entity Listener ##Recipe 18(Spring 缓存抽象) 在本节中,您将看到如何使用 EntityListener 我们将使用基于注解的方法。 使用 hsqldb 2.3.3 版本全面支持 JDBC 3.0 构建依赖 要求 版本 ...

    SpringDataJPA findById与getOne的区别

    getOne得到的是对应得实体类对象,如果需要在单元测试中使用此方法,要加上事务支持注解,即@Transactional,才可以正常使用 从源码分析 public Optional findById(ID id) { Assert.notNull(id, "The given id ...

    BOS 技术整理

    JPA 注解使用 @Entity 标明是实体类 @Table 映射表名称 @Id 主键标识 @GeneratedValue 自动生成主键的值 @Column 设置映射数据表中列信息 @Temporal 控制数据表保存日期哪个部分(日期、时间、日期时间)...

    Hibernate注释大全收藏

    • 将类注解为 @IdClass,并将该实体中所有主键的属性都注解为 @Id @Entity @IdClass(FootballerPk.class) public class Footballer { //part of the id key @Id public String getFirstname() { return ...

    Java期末项目 用户管理系统(项目源代码+实验报告+SQL文件)

    可以使用@Entity`注解标注实体类,并使用`@Id`注解指定唯一标识。 4. 创建用户数据访问层(Repository): 创建一个用户数据访问层接口,继承`JpaRepository`或其他适合的Spring Data接口。该接口将提供一些基本的...

    Java框架springBoot企业级进销存ERP系统源码.7z

    本系统采用企业级开发标准,使用SpringBoot架构,数据访问层采用Spring Data Jpa,业务控制层采用SpringMvc,安全框架采用Shiro,实现了完整权限系统,Controller方法采用shiro注解,来实现有效的权限控制;...

    Spring Boot中Spring data注解的使用

    文章目录Spring Data Annotations@Transactional@NoRepositoryBean@Param@Id@Transient@CreatedBy, @LastModifiedBy, @CreatedDate, @LastModifiedDateSpring Data JPA Annotations@Query@Procedure@Lock@Modifying@...

    基于spring boot设备管理系统

    定义设备的属性,如设备ID、设备名称、设备类型等,并使用注解将其映射到数据库表。 创建设备管理服务:创建设备管理服务类,实现设备的增删改查操作。使用 Spring Data JPA 或其他持久化框架来处理与数据库的交互...

    Spring中的基础知识

    JPA 中有哪些注解,他们的意义? // 实体类,状态需要持久化的类 @Entity // 映射当前类到特定的数据库(schema)、表(table) @Table // 映射主键(PK) @Id // 映射到表的列(字段) @Column // 一对一 @OneToOne...

    Java EE常用框架.xmind

    注解式:通过在执行的Java方法上放置相应的注解完成 Spring与Shiro整合 在web.xml配置拦截器 在Shiro配置文件上配置在web.xml对应的bean 配置安全管理器 配置自定义的realm Shiro过滤器 ...

    IDEA 自带生成Entity(POJO)类文件配置模板

    生成JPA的实体,带注解,包括@Entity,@Table(name=xx),@Id,@GeneratedValue,@Column(name=xx) 输出表和字段的注释,包含字段的类型长度 自动生成包名,sets、gets方法,自动判断数据类型并引包

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架...........................

    GyJdbc:让天下没有难写的sql

    GyJdbc基于jdbctemplate的类似JPA的持久层框架封装,使用优势: Dao层0代码,再也不需要为Dao层的方法名称命名掉头发。 链式SQL配合lambda表达式,既装B又简洁。 强悍SQL拼接,支持作者已知的所有SQL语法。 学习...

Global site tag (gtag.js) - Google Analytics