学习笔记@注释

注释作用于其后的第一条语句:

实体Bean代码

@Entity

@Table(name="tbl_user")

publicclass User implements Serializable{

                   @Id

                   @GeneratedValue(strategy = GenerationType.AUTO)

                   @Column(name="id")

                   private Integer id;

                   @Column(name="name")

                   private String name;

                   @Column(name="age")

                   private String age;

                   public String getAge() {   returnage;  }

                   publicvoid setAge(String age) {        this.age = age;   }

                   public String getName() {       returnname; }

                   publicvoid setName(String name) {  this.name = name; }

                   public User() {   }

                   public Integer getId() {   returnthis.id;  }

                   publicvoid setId(Integer id) {     this.id = id; }

}

从 上面代码来看开发实体Bean非常简单,比起普通的JavaBean就是多了些注释。@Entity注释指名这是一个实体Bean,@Table注释指定 了Entity所要映射带数据库表,其中@Table.name()用来指定映射表的表名。如果缺省@Table注释,系统默认采用类名作为映射表的表 名。实体Bean的每个实例代表数据表中的一行数据,行中的一列对应实例中的一个属性。

@Column注释定义了将成员属性映射到关系表中的哪一列和该列的结构信息,属性如下:

1)name:映射的列名。如:映射tbl_user表的name列,可以在name属性的上面或getName方法上面加入;

2)unique:是否唯一;

3)nullable:是否允许为空;

4)length:对于字符型列,length属性指定列的最大字符长度;

5)insertable:是否允许插入;

6)updatetable:是否允许更新;

7)columnDefinition:定义建表时创建此列的DDL;

8)secondaryTable:从表名。如果此列不建在主表上(默认是主表),该属性定义该列所在从表的名字。

@Id注释指定表的主键,它可以有多种生成方式:

1)TABLE:容器指定用底层的数据表确保唯一;

2)SEQUENCE:使用数据库德SEQUENCE列莱保证唯一(Oracle数据库通过序列来生成唯一ID);

3)IDENTITY:使用数据库的IDENTITY列莱保证唯一;

4)AUTO:由容器挑选一个合适的方式来保证唯一;

5)NONE:容器不负责主键的生成,由程序来完成。

@GeneratedValue注释定义了标识字段生成方式。

@Temporal注释用来指定java.util.Date或java.util.Calender属性与数据库类型date、time或timestamp中的那一种类型进行映射。

@Temporal(value=TemporalType.TIME)

private Date birthday;

原文地址:https://www.cnblogs.com/FightingMan/p/6192993.html