spring @Entity @Table


import java.io.Serializable;

 

import javax.persistence.Column;

import javax.persistence.Entity;

import javax.persistence.Id;

import javax.persistence.Table;

 

@Entity

@Table(name = "tbl_user" schema="SIMULATE" )

publicclass User implements Serializable {

 

    private static final long serialVersionUID = 1L;

        

    @Id

    @GeneratedValue(strategy = GenerationType.AUTO)

    @Column(name = "id" insertable=false,nullable=false,updatable=false)    

    private Integer id;

 

    @Column(name = "name") 

    private String name;

 

    @Column(name = "age") 

    private String age;

 

    public Integer getId() {

        return this.id;

    }

    

    public void setId(Integer id) {

        this.id = id;

    }

 

    public String getName() {

        return name;

    }

 

    /****

     * 用戶名

     * @param name

     */

    public void setName(String name) {

        this.name = name;

    }

 

    public String getAge() {

        return age;

    }

 

    public void setAge(String age) {

        this.age = age;

    }

 

    public User() {}

 

}

從上面代碼來看開發實體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)

//oracle數據庫自定義的sequences

@SequenceGenerator(name = "MY_SEQUENCE", sequenceName = "INCREMENTA")

@Id

@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="MY_SEQUENCE")

@Column(insertable=false,nullable=false,updatable=false)

private String id;

 

轉自:https://blog.csdn.net/u010081710/article/details/51692314


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM