注解@Column實現實體類到數據庫字段的映射以及解決映射過程中的type#[]類型錯誤


注解@Column實現實體類到數據庫字段的映射解決映射過程中的type#[]類型錯誤

1、@GeneratedValue實現id的自增長

實體類中:

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private int id;

xml文件中:(constraints中放的是字段的屬性,primaryKey="true"表示該字段為主鍵,nullable="false"表示該字段不可為空)

<createTable tableName="tablename">
            <column name="id" type="int" autoIncrement="true">
                <constraints primaryKey="true" nullable="false"/>
            </column>
</createTable>

 

2、@Column映射數據庫的字段

實體類:(name里面的字段名要和xml里面的對應,如果有下划線比如ztb_id,就一定要寫,xml里面不能駝峰命名;如果,沒有下划線,那么name可以不寫)

@Column(name = "ztb_id", nullable = false)
 private int ztbId;

@Column(length = 40, nullable = false)
private String fkkk;

 xml文件中:

<column name="ztb_id" type="int">
                <constraints nullable="false"/>
</column>

<column name="fkkk" type="nvarchar2(40)">
                <constraints nullable="false"/>
</column>

3、@Nationalized支持中文

實體類:

@Nationalized
@Column(length = 40, nullable = false)
private String fkkk;

4、@Enumerated支持枚舉類型

枚舉類:

import java.io.Serializable;

public enum ListType implements Serializable {
    DAXIU, GXGZ
}

實體類:

@Enumerated(EnumType.STRING)
@Column(name = "list_type", length = 10, nullable = false)
private ListType listType;

 

xml:

<column name="list_type" type="varchar2(10)">
                <constraints nullable="false"/>
</column>

5、@Column(columnDefinition)解決映射過程中的type#[]類型錯誤。String類型默認映射的數值類型是varchar,columnDefinition可以進行額外指定(有時候編譯運行會出現類型錯誤,所以就需要)

實體類:

@Column(nullable = false, columnDefinition = "char")
private String qksj;

xml:

<column name="qksj" type="char(10)">
                <constraints nullable="false"/>
</column>

 

 


免責聲明!

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



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