下面开始为您讲解 Spring Data JPA 实体类中常用注解的说明,请注意文末有示例代码供参考。
1. @Entity
@Entity 注解用于声明当前类是一个实体类(Entity),必须使用此注解标记实体类,也可以自定义表名或指定 catalog 或 schema。
2. @Table
@Table 注解可以指定当前实体类要映射到的数据库表名,可以自定义表名、catalog 或 schema,若不指定,则使用实体类类名作为表名。
3. @Id
@Id 注解表示当前属性是主键,并且必须被映射到数据库的主键列上。
4. @GeneratedValue
@GeneratedValue 注解用于指定主键值生成策略,如 Identity、Sequence、Table等。
5. @Column
@Column 注解可定义实体类基本属性对应的列的信息,如类型、长度、是否可为空、默认值等。
6. @Temporal
@Temporal 注解用于控制时间戳类型的属性,支持 DATE、TIME、TIMESTAMP 三种时间戳类型。(注意:java.util.Date 类型会被默认映射成 TIMESTAMP 类型)
7. @Transient
@Transient 注解用于标记当前属性不用于实体类的映射,而仅仅是一个临时变量。
这些注解常用于实体类的开发中,可以为我们的业务逻辑提供强有力的支持。下面是两个示例代码:
@Entity
@Table(name="user")
public class User {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
@Column(name="id")
private Long id;
@Column(name="username")
private String username;
@Column(name="password")
private String password;
@Column(name="create_time", insertable=true, updatable=false, columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP")
@Temporal(TemporalType.TIMESTAMP)
private Date createTime;
@Transient
private String avatarUrl;
// 省略 getter、setter 方法
}
@Entity
@Table(name="book")
public class Book {
@Id
@GeneratedValue(strategy=GenerationType.TABLE)
@Column(name="book_id")
private Long bookId;
@Column(name="name")
private String name;
@Column(name="author")
private String author;
@Column(name="publish_date")
@Temporal(TemporalType.DATE)
private Date publishDate;
// 省略 getter、setter 方法
}
以上是 Spring Data JPA 实体类中常用注解的说明和示例代码,希望对您进行开发有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Spring Data JPA 实体类中常用注解说明 - Python技术站