深入淺出Hibernate
測試第一個JunitTest所需要的類庫

將hibernate.cfg.xml文件放到src目錄下,那么在進行JUnit測試的時候,不需要制定hibernate.cfg.xml文件的路徑
通過Configuration config=new Configuration().configure();就可以讓Eclipse自動找到找個文件。
表1 Hibernate標識生成策略

將hibernate.cfg.xml文件放到src目錄下,那么在進行JUnit測試的時候,不需要制定hibernate.cfg.xml文件的路徑
通過Configuration config=new Configuration().configure();就可以讓Eclipse自動找到找個文件。
表1 Hibernate標識生成策略
標識符生成器 | 描述 |
increment | 適用于代理主鍵。 由Hibernate自動以遞增方式生成。 |
identity | 適用于代理主鍵。 由底層數據庫生成標識符。 |
sequence | 適用于代理主鍵。 Hibernate根據底層數據庫的序列生成標識符, 這要求底層數據庫支持序列。 |
hilo | 適用于代理主鍵。 |
seqhilo | 適用于代理主鍵。 使用一個高/低位算法來高效的生成long, short或者int類型的標識符。 |
native | 適用于代理主鍵。 根據底層數據庫對自動生成標識符的方式, 自動選擇identity、sequence或hilo。 |
uuid.hex | 適用于代理主鍵。 Hibernate采用128位的UUID算法生成標識符。 |
uuid.string | 適用于代理主鍵。 UUID被編碼成一個16字符長的字符串。 |
assigned | 適用于自然主鍵。由Java應用程序負責生成標識符。 |
foreign | 適用于代理主鍵。使用另外一個相關聯的對象的標識符。 |
Hibernate映射類型
在對象/關系映射文件中,Hibernate采用映射類型作為Java類型和SQL類型的橋梁。Hibernate映射類型分為2種:內置映射類型和自定義映射類型。
1、內置映射類型
Hibernate對所有的Java原生類型、常用的Java類型如String、Date等都定義了內置的映射類型。表2列出了Hibernate映射類型、對應的Java類型以及對應的標準SQL類型。
表2 Hibernate內置映射類型
Hibernate映射類型 | Java類型 | 標準SQL類型 | 大小 |
integer/int | java.lang.Integer/int | INTEGER | 4字節 |
long | java.lang.Long/long | BIGINT | 8字節 |
short | java.lang.Short/short | SMALLINT | 2字節 |
byte | java.lang.Byte/byte | TINYINT | 1字節 |
float | java.lang.Float/float | FLOAT | 4字節 |
double | java.lang.Double/double | DOUBLE | 8字節 |
big_decimal | java.math.BigDecimal | NUMERIC | ? |
character | java.lang.Character/ java.lang.String/char | CHAR(1) | 定長字符 |
string | java.lang.String | VARCHAR | 變長字符 |
boolean/ yes_no/true_false | java.lang.Boolean/Boolean | BIT | 布爾類型 |
date | java.util.Date/ java.sql.Date | DATE | 日期 |
timestamp | java.util.Date/ java.util.Timestamp | TIMESTAMP | 日期 |
calendar | java.util.Calendar | TIMESTAMP | 日期 |
calendar_date | java.util.Calendar | DATE | 日期 |
binary | byte[] | BLOB | BLOB |
text | java.lang.String | TEXT | CLOB |
serializable | 實現java.io. Serializablej接口 的任意Java類 | BLOB | BLOB |
clob | java.sql.Clob | CLOB | CLOB |
blob | java.sql.Blob | BLOB | BLOB |
class | java.lang.Class | VARCHAR | 定長字符 |
locale | java.util.Locale | VARCHAR | 定長字符 |
timezone | java.util.TimeZone | VARCHAR | 定長字符 |
currency | java.util.Currency | VARCHAR | 定長字符 |
posted on 2007-01-14 17:06 小雨不打傘 閱讀(567) 評論(0) 編輯 收藏 所屬分類: 數據庫