IT人生
          專注于java相關技術.
          posts - 53,comments - 87,trackbacks - 0
          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          隨筆分類(11)

          隨筆檔案(50)

          文章分類(12)

          文章檔案(13)

          友情鏈接

          最新隨筆

          搜索

          •  

          積分與排名

          • 積分 - 240380
          • 排名 - 237

          最新評論

          閱讀排行榜

          評論排行榜

          1、Hibernate基本數據類型

          Hibernate基本類型

          JAVA類型

          標準SQL字段類型

          Boolean

          Boolean,java.lang.boolean

          BIT

          Yes_no

          Boolean,java.lang.boolean

          Char(1)(Y/N)

          True_false

          Boolean,java.lang.boolean

          Char(1)(Y/N)

          Byte

          Byte,java.lang.byte

          TINYINT

          Short

          Short,java.lang.short

          SMALLINT

          Interger

          Int,java.lang.integer

          INTEGER

          Long

          Long,java.lang.long

          BIGINT

          Float

          Float,java.lang.float

          FLOAT

          Double

          Double,java.lang.Double

          DOUBLE

          Big_decimal

          Java.math.BigDecimal

          NUMBERIC

          Character

          Java.lang.string

          CHAR(1)

          String

          Java.lang.string

          VARCHAR

          Date

          Java.util.Date,java.sql.Date

          DATE

          Time

          Java.util.Date,java.sql.Time

          TIME

          Timestamp

          Java.util.Date,java.sql.TimeStamp

          TIMESTAMP

          Calender

          Java.util.Calendar

          TIMESTAMP

          Calender_date

          Java.util.Calendar

          Date

          Clob

          Java.sql.clob

          CLOB

          Blob

          Java.sql.blob

          BLOB

          Binary

          Byte[]

          VARBINARY,BLOB

          Text

          Java.lang.String

          CLOB

          Seralizable

          Java.io.serializable

          VARBINARY,BLOB

          Class

          Java.lang.class

          VARCHAR

          Local

          Java.util.locale

          VARCHAR

          Timezone

          Java.util.timezone

          VARCHAR

          Currency

          Java.util.currency

          VARCHAR

          2、OR映射

          (1)id映射

          <id column="ID" name="id" type="java.lang.String">

              <generator class="uuid.hex"/>

          </id>

          name:指定POJO類的成員變量名

          type:name指定變量的數據類型

          column:對應數據庫表的主鍵字段

          (2)表/類映射

          <class name="test.pojo.company" table="company" lazy="false">

          </class>

          name:指定POJO類

          table:POJO類對應的數據庫表

          lazy:延遲加載

          (3)實體映射

          <hibernate-mapping>

              <class name="test.pojo.company" table="company" >

                 <id column="ID" name="id" type="java.lang.String">

                     <generator class="uuid.hex"/>

                 </id>

                 <property column="NAME" name="name" type="java.lang.String"/>

                 <property column="ADDRESS" name="address" type="java.lang.String"/>

              </class>

          </hibernate-mapping>

          (4)復合主鍵映射

          <composite-id>

          <key-property column="USERID" name="userid" type="java.lang.String"></key-property>

          <key-property column="WHEN" name="when" type="java.sql.Date"></key-property>

          </composite-id>

          復合主鍵的POJO類需要實現equals和hashcode方法,可以使用apache commons lang包中的工具類實現(commons-lang.jar)

          3、generator子元素,其class屬性指定主鍵生成方式:

          increment(遞增):用于為long, short或者int類型生成唯一標識。只有在沒有其他進程往同一張表中插入數據時才能使用。 在集群下不要使用。

          identity :對DB2,MySQL, MS SQL Server, Sybase和HypersonicSQL的內置標識字段提供支持。返回的標識符是long, short 或者int類型的。

          sequence (序列):在DB2,PostgreSQL, Oracle, SAP DB, McKoi中使用序列(sequence),而在Interbase中使用生成器(generator)。返回的標識符是long, short或者 int類型的。

          hilo (高低位):使用一個高/低位算法來高效的生成long, short或者 int類型的標識符。給定一個表和字段(默認分別是是hibernate_unique_key 和next_hi)作為高位值得來源。高/低位算法生成的標識符只在一個特定的數據庫中是唯一的。在使用JTA獲得的連接或者用戶自行提供的連接中,不要使用這種生成器。

          seqhilo(使用序列的高低位):使用一個高/低位算法來高效的生成long, short或者 int類型的標識符,給定一個數據庫序列(sequence)的名字。

          uuid.hex :用一個128-bit的UUID算法生成字符串類型的標識符。在一個網絡中唯一(使用了IP地址)。UUID被編碼為一個32位16進制數字的字符串。

          uuid.string :使用同樣的UUID算法。UUID被編碼為一個16個字符長的任意ASCII字符組成的字符串。不能使用在PostgreSQL數據庫中

          native(本地):根據底層數據庫的能力選擇identity, sequence 或者hilo中的一個。

          assigned(程序設置):讓應用程序在save()之前為對象分配一個標示符。

          foreign(外部引用)

          select:hibernate3中新增的。需要提供一個唯一的標識字段進行二次讀取,以獲取觸發器生成的主鍵值,通過param子元素進行定義,比如:

          <generator class="select">

              <param name="key">key_field</param>

          </generator>

          該方法主要針對遺留系統的改造工程,一些早期的系統主鍵依賴于觸發器生成。當數據庫insert時,觸發器捕獲這一操作,并為主鍵賦值,在插入數據庫后,再次讀取某一識別字段讀取已經插入的數據,獲取其主鍵值。



          減肥瘦身品總匯     值得信賴*脈脈美妝*正品現貨謝絕講價     〓深港商盟〓名品歐衣坊(美國休閑品牌AF系列)     QQ三國游戲幣及道具專賣店     小臉紅紅的瘦身旗艦店
          posted on 2009-04-29 08:53 龍華城 閱讀(1330) 評論(0)  編輯  收藏 所屬分類: Hibernate
          51La
          主站蜘蛛池模板: 武安市| 望都县| 兴业县| 久治县| 洪雅县| 当涂县| 怀安县| 寿光市| 苏州市| 临桂县| 吉木乃县| 嘉荫县| 宁海县| 遵义县| 江门市| 达日县| 新晃| 特克斯县| 云南省| 托克逊县| 凉山| 铜陵市| 祁连县| 镇原县| 阿瓦提县| 万源市| 万年县| 安庆市| 华池县| 通化市| 射阳县| 棋牌| 营山县| 沙坪坝区| 濉溪县| 科技| 平果县| 牟定县| 图片| 武陟县| 永善县|