<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 66,  comments - 11,  trackbacks - 0
        我們的目標是為數據邏輯層及業務邏輯層提供更加易于操作的對象,根據這里的情況,將email字段映射為一個List集合

    類型是個不錯的選擇,如何將一個字段映射為List類型,Hibernate并沒有提供原生支持,我們必須實現自己的UserType.
      
    package com.wyq.hibernate;

    public interface UserType {
        
    /**
         * 返回UserType所映射字段的SQL類型(java.sql.Types)
         * 返回類型為int[],其中包含了映射各字段的SQL類型代碼
         * (UserType可以映射到一個或者多個字段)
         * 
    @see java.sql.Types
         * 
    @return int[] the typecodes
         
    */
        
    public int[] sqlTypes();
        
    /**
         * UserType.nullSafeGet()所返回的自定義數據類型
         * 
    @return Class
         
    */
        
    public Class returnedClass();
        
    /**
         * 自定義數據類型的對比方法
         * 此方法將用作臟數據檢查,參數x,y分別為數據的2個副本
         * 如果equals方法返回false,則Hibernate將認為數據發生變化,并將變化更新到庫表中
         
    */
        
    public boolean equals(Object x,Object y)throws HiberanteException;
        
    /**
         * 從JDBC ResultSet讀出數據,將其轉換為自定義類型后返回
         * (此方法要求對可能出現的null值進行處理)
         * names中包含了當前自定義類型的映射字段名稱。
         
    */
        
    public Object nullSafeGet(ResultSet rs,String[] names,Object owner)throws HibernateException,SQLException;
        
    /**
         * 本方法將在Hibernate進行數據保存時被調用
         * 我們可以通過PreparedStatement將自定義數據寫入對應的庫表字段
         
    */
        
    public void nullSafeSet(PreparedStatement st,Object value,int index)throws HibernateException,SQLException;
        
    /**
         * 提供自定義類型的完全復制方法
         * 本方法將用作構造返回對象
         * 當nullSafeGet方法調用之后,我們獲得了自定義數據對象,在向用戶返回自定義數據之前,deepCopy方法將被調用,
         * 它將根據自定義數據對象構造一個完全拷貝,并將此拷貝返回給用戶使用。
         * 此時,我們就得到了自定義數據對象的2個版本,第一個是從數據庫讀出的原始版本,其二是我們通過deepCopy構造的
         * 復制版本,原始版本將由Hibernate負責維護,復制版本將由用戶使用,原始版本用作稍后的臟數據檢查一句;Hibernate
         * 將在臟數據檢查過程中將這2個版本的數據進行比對,如果數據發生了變化,則執行對應的持久化操作。
         * 數據發生了變化,則執行對應的持久化操作。
         
    */
        
    public Object deepCopy(Object value)throws HibernateException;
        
    /**
         * 本類型實例是否可變
         
    */
        
    public boolean isMutable();
    }

    posted on 2009-10-16 15:59 王永慶 閱讀(161) 評論(0)  編輯  收藏 所屬分類: HIBERNATE
    <2009年10月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    關注blogs

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: a国产成人免费视频| 高清免费久久午夜精品| 亚洲国产精品第一区二区| 亚洲AV美女一区二区三区| 亚洲人成网站看在线播放| 亚洲av最新在线观看网址| 亚欧国产一级在线免费| 在线免费观看亚洲| 国产精品黄页在线播放免费| 国产亚洲精品高清在线| 亚洲综合无码一区二区| 成人午夜免费视频| 国产成人麻豆亚洲综合无码精品| 亚洲日韩乱码中文无码蜜桃 | 日韩在线天堂免费观看| 亚洲男人av香蕉爽爽爽爽| 亚洲午夜一区二区电影院| 国产精品免费久久| 亚洲ⅴ国产v天堂a无码二区| 亚洲免费黄色网址| 久久精品国产精品亚洲人人| 中文字幕不卡免费高清视频| 永久免费AV无码网站在线观看| 久久精品国产亚洲麻豆| 亚洲欧好州第一的日产suv| 外国成人网在线观看免费视频| 免费黄色app网站| 国产精品永久免费视频| 99久久综合国产精品免费| 亚洲欧洲成人精品香蕉网| 曰批全过程免费视频免费看| 成年女人视频网站免费m| 亚洲精品熟女国产| 最近免费中文字幕大全免费 | 在线观看亚洲精品专区| 很黄很黄的网站免费的| 久久久亚洲欧洲日产国码aⅴ| 欧美好看的免费电影在线观看| 亚洲图片中文字幕| 国产色爽女小说免费看| 99蜜桃在线观看免费视频网站|