熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java核心技術 >> 正文

EJB之JPA(UUID與TABLE影射策略)

2013-11-23 19:33:09  來源: Java核心技術 
UUID
   
    package blogspojo;import javaioSerializable;import javaxpersistenceColumn;import javaxpersistenceEntity;import javaxpersistenceGeneratedValue;import javaxpersistenceGenerationType;import javaxpersistenceId;import javaxpersistenceTable;import orghibernateannotationsGenericGenerator;/** * 定義這是一個entityBean *  * @author asus *  */@Entity@Table(name = person)// 映射表名稱為personpublic class Person implements Serializable {// 實現可序列化接口方便遠程調用
   
    /**
   
    * 由於EJB不支持UUID所以我們需要用hiberante生成所以我們需要在類路徑下面添加一個包
   
    * 這個包在JBOSSHOME\common\lib下的hibernateannotationsjar把這個包引入就可以了
   
    */
   
    @Id
   
    @GeneratedValue(generator=uuidgenerator
   
    @GenericGenerator(name=uuidgeneratorstrategy=uuid
   
    private String id;
   
    @Column(name = username unique = false)
   
    private String name;
   
    @Column(name = password nullable = false)
   
    private String passwd;
   
    public String getId() {
   
    return id;
   
    }
   
    public void setId(String id) {
   
    thisid = id;
   
    }
   
    public String getName() {
   
    return name;
   
    }
   
    public void setName(String name) {
   
    thisname = name;
   
    }
   
    public String getPasswd() {
   
    return passwd;
   
    }
   
    public void setPasswd(String passwd) {
   
    thispasswd = passwd;
   
    }}
   
    table映射策略
   
    table策略的好處就是方便數據移植所有的數據庫都支持
   
    使用table策略主鍵必須是int或者Long類型不能是String類型


   
    package blogspojo;import javaioSerializable;import javaxpersistenceColumn;import javaxpersistenceEntity;import javaxpersistenceGeneratedValue;import javaxpersistenceGenerationType;import javaxpersistenceId;import javaxpersistenceTable;import javaxpersistenceTableGenerator;/** * 定義這是一個entityBean *  * @author asus *  */@Entity@Table(name = person)// 映射表名稱為personpublic class Person implements Serializable {// 實現可序列化接口方便遠程調用
   
    /**
   
    * Table生成策略
   
    *
   
    * T_ID_GEN表
   
    *
   
    * ID_COULMN_NAME
   
    NEXT_ID
   
    * User_ID
   
   
   
    * Person_ID
   
   
   
    * 不同的類的ID
   
   
   
    *
   
    */
   
    @Id
   
    @TableGenerator(
   
    name=userGenerator
   
    //定義Table策略的名稱
   
    table=T_ID_GEN
   
    //定義在Table策略中使用的表名數據庫會自動建表
   
    pkColumnName=ID_COLUMN_NAME
   
    //用來區分不同的表的ID的字段名稱
   
    pkColumnValue=/archive////User_ID
   
    //用來區分不同的表的ID的值 也就是不同的類要有不同的id_coulmn_name
   
    valueColumnName=NEXT_ID
   
    //下一個ID的值所存放的字段的名稱
   
    allocationSize=
   
    //ID的遞增值如果是 第一條數據的ID就是條是
   
    //如果值為第一條數據是條是條是
   
    )
   
    @GeneratedValue(strategy=GenerationTypeTABLEgenerator=userGenerator
   
    private int id;
   
    @Column(name = username unique = false)
   
    private String name;
   
    @Column(name = password nullable = false)
   
    private String passwd;
   
    public int getId() {
   
    return id;
   
    }
   
    public void setId(int id) {
   
    thisid = id;
   
    }
   
    public String getName() {
   
    return name;
   
    }
   
    public void setName(String name) {
   
    thisname = name;
   
    }
   
    public String getPasswd() {
   
    return passwd;
   
    }
   
    public void setPasswd(String passwd) {
   
    thispasswd = passwd;
   
    }}
   
    以上就是關於UUID和TABLE策略下一章是關於屬性映射


From:http://tw.wingwit.com/Article/program/Java/hx/201311/27075.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.