日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
簡述Hibernate幾種映射類型

在我們學(xué)習(xí)Hibernate時就知道,Hibernate映射類型分為兩種:Hibernate內(nèi)置的映射類型和Hibernate客戶化映射類型。

為郟縣等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及郟縣網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站制作、成都網(wǎng)站制作、郟縣網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!

內(nèi)置映射類型負(fù)責(zé)把一些常見的Java類型映射到相應(yīng)的SQL類型;此外,Hibernate還允許用戶實現(xiàn)UserType或CompositeUserType接口,來靈活地定制客戶化映射類型

1.Hibernate內(nèi)置映射類型

1).Java基本類型的Hibernate映射類型

Java類型

Hibernate映射類型

標(biāo)準(zhǔn)SQL類型

大小和取值范圍

int/Integer

int/integer

INTEGER

4Byte

long/Long   

long

BIGINT

8Byte

short/Short

short

SAMLLINT

2Byte

byte/Byte

byte

TINYINT

1Byte

float/Float

float

FLOAT

4Byte

double/Double

double

DOUBLE

8Byte

BigDecimal

big_decimal

NUMBERIC

Numeric(8,2)

char/Character/String

character

CHAR(1)

定長字符

String

string

VARCHAR

變長字符

boolean/Boolean

boolean

BIT

布爾類型

boolean/Boolean

yes/no

CHAR(1)('Y'/'N')

布爾類型

boolean/Boolean

true/false

CHAR(1)('T'/'F')

布爾類型

2). Java時間和日期類型的Hibernate映射類型

Java類型

Hibernate映射類型

標(biāo)準(zhǔn)SQL類型

描述

java.util.Date/java.sql.Date

date

DATE

日期,yyyy-mm-dd

java.util.Date/java.sql.TIme

time

TIME

時間,hh:mm:ss

java.util.Date/java.sql.Timestamp

timestamp

TIMESTAMP

時間戳,yyyymmddhhmmss

java.util.Calendar

calendar

TIMESTAMP

同上

java.util.Calendar

calendar_date

DATE

日期yyyy-mm-dd

當(dāng)程序類型為java.sql.Timestamp, 數(shù)據(jù)庫中表屬性類型為timestamp的情況下,即使用戶以空值插入數(shù)據(jù),數(shù)據(jù)庫系統(tǒng)仍然會自動填充timestamp的值

3). Java 大對象類型的Hibernate映射類型

Java類型

Hibernate映射類型

標(biāo)準(zhǔn)SQL類型

MySql類型

Oracle類型

byte[]

binary

VARBINARY/BLOB

BLOB

BLOB

String

text

CLOB

TEXT

CLOB

serializable

實現(xiàn)serializable接口的一個java類

VARBINARY/BLOB

BLOB

BLOB

java.sql.Clob

clob

CLOB

TEXT

CLOB

java.sql.Blob

blob

BLOB

BLOB

BLOB

在應(yīng)用程序中通過Hibernate來保存java.sql.Clob或者java.sql.Blob實例時,必須包含兩個步驟:
a. 在一個數(shù)據(jù)庫事務(wù)中先保存一個空的Blob或Clob實例;

b. 接著鎖定這條記錄,更新在步驟(1)中保存的Blob或Clob實例,把二進(jìn)制數(shù)據(jù)或長文本數(shù)據(jù)寫到Blob或Clob實例中。

 
 
 
  1.  1  
  2.  2Session session = sessionFactory.openSession();  
  3.  3Transaction tx = session.beginTransaction();  
  4.  4Customer customer = new Customer();  
  5.  5customer.setDescription(Hibernate.createClob("")); //先保存一個空的clob  
  6.  6session.save(customer);  
  7.  7session.flush();  
  8.  8//鎖定這條記錄  
  9.  9session.refresh(customer,LockMode.UPGRADE);  
  10. 10oracle.sql.CLOB clob = (oracle.sql.CLOB) customer.getDescription();  
  11. 11java.io.Writer pw = clob.getCharacterOutStream();  
  12. 12pw.write(longText);//longText是一個長度超過255的字符串  
  13. 13pw.close();  
  14. 14tx.commit();  
  15. 15session.close(); 

一個java類型對應(yīng)多個Hibernate映射類型的場合。例如,如果持久化類的屬性為java.util.Date類型,對應(yīng)的Hibernate映射類型可以是date,time
或timestamp。此時必須根據(jù)對應(yīng)的數(shù)據(jù)庫表的字段的SQL類型,來確定Hibernate映射類型。如果字段為Date類型,則hibernate映射為datge,如果為TIME則為time,如果為TIMESTAMP則為timestamp。

2.客戶化映射類型

(很麻煩的一個東西,稍微看了看,日后需要再研究并總結(jié))

【編輯推薦】

  1. 簡述Hibernate中加載并存儲對象
  2. Hibernate傳播性持久化攻略
  3. 深入了解Hibernate自動狀態(tài)檢測
  4. 教你如何在Hibernate中實例化集合和代理
  5. Hinerbate單端關(guān)聯(lián)代理頗析

新聞名稱:簡述Hibernate幾種映射類型
標(biāo)題鏈接:http://www.5511xx.com/article/djdhocj.html