码迷,mamicode.com
首页 > 其他好文 > 详细

JPA 的基本注解

时间:2018-05-10 20:53:13      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:auto   tla   ring   字段   creat   string   mil   设置   ros   

1.首先说说注解的含义

@Entity

  说明当前类是一个实体。

@Table(name="XXX")

  设置对应表的表名。如果不写,则表名=类名。

@Column(name="XXX",length=xxx,nullable=(false/true),unique=(true/false))

  设置对应表的字段名,注解应该写在属性的get方法上。如果不写@Column,则默认是:表里的字段名和属性名相同。


@GeneratedValue(strategy=GenerationType.AUTO)
@Id

  对应数据表的主键,并设置主键的生成策略,我这里是用AUTO方式,还有其他方式,这里不一 一举例。

@Basic

  把没有加@Column的属性自动的注解,并且设置成字段名=属性名。并且字段的长度也是默认最长的(例如:int =11,varchar=255)。

@Transient

  如果实体类里有一个getxxx()的工具类,不需要映射为实例时,就需要加@Transient,否则ORM框架就默认其注解为@Basic。

@Temporal(TemporalType.xxx)

  指定Date对象的精确度,比如

    @Temporal(TemporalType.TIMESTAMP)设置精确到秒

    @Temporal(TemporalType.DATE)设置精确到天

2.下面看看实际代码:

 1 @Table(name="CUSTOMER")
 2 @Entity
 3 public class Customer {
 4 private Integer id;
 5 private String lastName;
 6 private String email;
 7 private int age;
 8 
 9 private Date createdTime;
10 private Date birth;
11 
12 //创建时间设置精确到秒
13 @Temporal(TemporalType.TIMESTAMP)
14 public Date getCreatedTime() {
15     return createdTime;
16 }
17 
18 public void setCreatedTime(Date createdTime) {
19     this.createdTime = createdTime;
20 }
21 //生日设置精确到天
22 @Temporal(TemporalType.DATE)
23 public Date getBirth() {
24     return birth;
25 }
26 public void setBirth(Date birth) {
27     this.birth = birth;
28 }
29 @Column(name="id")
30 @GeneratedValue(strategy=GenerationType.AUTO)
31 @Id
32 public Integer getId() {
33     return id;
34 }
35 public void setId(Integer id) {
36     this.id = id;
37 }
38 @Column(name="Last_Name")
39 public String getLastName() {
40     return lastName;
41 }
42 public void setLastName(String lastName) {
43     this.lastName = lastName;
44 }
45 //默认为@Basic
46 public String getEmail() {
47     return email;
48 }
49 public void setEmail(String email) {
50     this.email = email;
51 }
52 //默认为@Basic
53 public int getAge() {
54     return age;
55 }
56 public void setAge(int age) {
57     this.age = age;
58 }
59 
60 //工具类,不需要映射为数据表的一列
61 @Transient
62 public String getInfo() {
63     return "lastName:"+lastName+",email:"+email;
64 }
65 }

 

  

  

  

JPA 的基本注解

标签:auto   tla   ring   字段   creat   string   mil   设置   ros   

原文地址:https://www.cnblogs.com/nimingdaoyou/p/9021569.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!