`
周一Monday
  • 浏览: 346757 次
  • 来自: 北京
社区版块
存档分类
最新评论

JPA常用注解

JPA 
阅读更多

@Entity
作用:设置一个类为实体类

@Entity
public class User {

}

 

@Table
作用:设置实体类对应的表,常与@Entity一起使用
参数:name制定表名,不写的话,为实体类的类名

@Entity
@Table(name = "tbl_user")
public class User {

}

@Id
作用:设置对象标识符

@Id
private Integer id;

@GeneratedValue
作用:设置标识符的生成策略,常与@Id一起使用
参数:strategy指定具体的生成策略

 

方式一:@GeneratedValue(strategy=GenerationType.AUTO) 也是默认策略, 即写成@GeneratedValue也可。
类似于hibernate的native策略,生成方式取决于底层的数据库。

方式二:@GeneratedValue(strategy = GenerationType.IDENTITY)指定“自动增长”策略,适用于MySQL。

方式三:@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_tbl_user")指定“序列”策略,使用于Oracle。
其中generator表示生成器的名字。
而且还要指定@SequenceGenerator(name = "seq_tbl_user", sequenceName = "seq_tbl_user", allocationSize = 1)注解配合使用
其中name指定生成器的名字(与generator的值一样),sequenceName指定数据库中定义序列的名字,allocationSize指定序列每次增长1


方式四:若不指定@GeneratedValue注解,则要手动提供Id值。user.setId();

@Id
	/** 自增 用于MySQL */
	@GeneratedValue(strategy = GenerationType.IDENTITY)
	
	/** 序列 用于Oracle */
	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "seq_tbl_user")
	@SequenceGenerator(name = "seq_tbl_user", sequenceName = "seq_tbl_user", allocationSize = 1)
	
	/** 默认的 等同于@GeneratedValue */
	@GeneratedValue(strategy = GenerationType.AUTO)
	private Integer id;

@Column
作用:设置列

 

参数:
name:指定列名
unique:指定唯一约束
nullable:指定是否允许为空
length:长度

 

@Column(name = "user_name", length = 255, nullable = true, unique = true)
private String name;

设置默认值:

@Column(name = "user_name")
private String name = "monday";

注意:若不写@Column注解,则一切使用@Column注解的默认值。

 

@Temporal
作用:设置日期时间

 

方式一:@Temporal(TemporalType.DATE)映射为日期 // birthday date (只有日期)
方式二:@Temporal(TemporalType.TIME)映射为日期 // birthday time (是有时间)
方式三:@Temporal(TemporalType.TIMESTAMP)映射为日期 //birthday datetime (日期+时间)

 

@Temporal(TemporalType.DATE)
private Date birthday;

@Lob
作用:设置大数据类型

 

方式一:

@Lob
private String text;   //text longtext

方式二:

@Lob
private byte[] image;	// image longblob

@Enumerated
作用:设置枚举类型

 

方式一:

/** 保存字符串到数据库 */
	@Enumerated(EnumType.STRING)
	private Role role;

方式二:

/** 保存整数到数据库 */
	@Enumerated(EnumType.ORDINAL)
	private Role role;

上面定义的枚举:Role

/** 角色 */
public enum Role {
	游客, 会员, 管理员
}

使用:

User user = new User();
user.setRole(Role.管理员);

@Transient
作用:修饰的字段不会被持久化

@Transient
private String temp; 

这样也可以:

private transient String temp;

以上都这都是比较常用的。

 

 

以上的注解全部定义在javax.persistence下面。

 

 

 

 

 

 

分享到:
评论
1 楼 sjzcmlt 2016-03-18  
感谢,很实用

相关推荐

    JPA 注解参考文档

    JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA支持XML和JDK5.0注解两种元数据的形式。...这个文档是针对JPA常用注解的一些说明。

    JPA注解参考文档

    JPA全称Java Persistence API.JPA通过JDK 5.0注解或XML描述对象-关系表的映射关系,并将运行期的实体对象持久化到数据库中。 JPA支持XML和JDK5.0注解两种元数据的形式。...这个文档是针对JPA常用注解的一些说明。

    JPA注解(转)

    以下是对JPA常用注解的详细说明: 1. **@Entity**: 这个注解标记一个Java类为数据库中的实体。它对应于数据库中的一个表。例如: ```java @Entity public class User { // ... } ``` 没有指定表名时,默认...

    JAVA ---JPA注解

    通过以上对 JPA 常用注解的详细介绍,我们可以更好地理解和使用 JPA 来实现对象关系映射。这些注解使得开发人员能够灵活地配置实体类与数据库表之间的映射关系,并提供了丰富的定制选项来满足各种业务需求。

    JPA注解总结大全!!!!

    本文将详细介绍与 JPA 相关的一些常用注解及其使用方法,帮助开发者更好地理解和掌握 JPA 的核心功能。 #### 1. 实体类的基本定义 在 JPA 中,实体类是指代表数据库表的对象模型。为了将一个普通的 Java 对象转换...

    SpringMVC+JPA 注解开发 maven

    SpringMVC和JPA是Java开发中常用的两个框架,它们分别负责Web应用的控制器层和持久化层。在本项目中,我们结合了这两个框架,采用注解驱动的方式进行开发,这大大简化了代码,提高了开发效率。Maven作为项目构建工具...

    JPA注解的解释和说明.pdf

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

    Toplink_JPA注解参考

    以上就是关于Toplink JPA注解的一些基本介绍,虽然这个文档可能有些陈旧,但它仍然能够帮助理解JPA的核心概念和常用注解。在实际开发中,JPA已经发展了许多新特性,比如Spring Data JPA的Repository抽象,以及更现代...

    JPA常用关系实现例子

    在这个“JPA常用关系实现例子”中,我们将探讨四种主要的关系类型:一对一(OneToOne)、一对多(OneToMany)、多对一(ManyToOne)和多对多(ManyToMany)。这些关系定义了实体间的关联,有助于在数据库设计中创建...

    Spring-data-jpa常用教程.pdf

    - 利用 `@ManyToOne`、`@OneToMany`、`@ManyToMany` 等注解来定义实体之间的关系,Spring-data-jpa 支持多种关系类型的映射。 #### 四、Spring-data-jpa 复杂查询支持 除了基本的 CRUD 操作外,Spring-data-jpa ...

    jpa常用标注

    在Java Persistence API (JPA) 中,注解是用于配置实体类与数据库表之间映射的关键工具。这些注解使得开发者能够以面向对象的方式描述数据模型,而无需编写大量SQL语句。以下是一些常见的JPA注解及其用途: 1. **@...

    JPA注解总结

    以上是 JPA 中常用的一些注解及其基本用法。理解和熟练掌握这些注解,能够帮助开发者更好地使用 JPA 和 Hibernate 进行数据库操作。在实际开发中,还可能遇到更多复杂的场景,这时就需要深入学习 JPA 的高级特性和 ...

    JPA标签(注解)详细说明

    以上就是JPA中常用的一些注解及其功能,它们极大地简化了Java对象和数据库表之间的映射过程,使得开发者能够更加专注于业务逻辑而不是数据持久化细节。通过熟练掌握这些注解,可以更高效地构建和管理Java应用程序的...

    Spring-data-jpa常用教程

    Spring Data JPA是Spring框架的一个模块,专门用于简化Java Persistence API (JPA)的使用,为开发者...配合提供的"Spring-data-jpa常用教程@www.java1234.com.pdf",可以更深入地了解和实践Spring Data JPA的各种功能。

    JPA注解参考

    下面,我们将深入探讨一些常用的JPA注解及其应用场景。 #### 基本实体注解 - **@Entity**:这是最基本的注解,用于标记一个类作为JPA的实体。例如: ```java @Entity public class Employee implements ...

    jpa注解参考

    以下是对JPA中一些常用注解的详细解释: 1. **@Entity(name="EntityName")**:这个注解标记一个类作为JPA的实体类,代表数据库中的一个表。`name`参数是可选的,用来指定实体对应的表名,默认情况下,表名与类名...

    JPA框架新技术: 注解

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

    hibernate常用注解

    ### Hibernate常用注解详解 #### 一、JPA与Hibernate注解基础 JPA(Java Persistence API)是一种标准规范,用于实现对象关系映射(ORM),允许开发人员使用注解或XML来描述实体对象与数据库表之间的映射关系。...

    Spring常用注解.xmind

    Spring 常用注解整理,分类:创建对象;注入数据;范围;全局异常;生命周期;新注解;JPA;扩展原理等注解类型。

    JPA注解详细解释、EJB3、 Hibernate开发

    下面将详细介绍一些常用的JPA注解及其用法。 #### 1. `@Entity` - **描述**:`@Entity` 注解用来标记一个类作为持久化实体类,代表数据库中的一个表。 - **属性**: - `name`:实体名称,默认情况下实体名称与...

Global site tag (gtag.js) - Google Analytics