使用jpa也有很長1段時間了,其中的奧妙也只是用到了1點點,項目中不用到的知識也很少去想,真心是現(xiàn)用現(xiàn)學(xué),這次遇到的問題是大文本,在數(shù)據(jù)庫中的類型為TEXT,但是映照的時候該怎樣做呢?!下面就來介紹1下吧:
實話實說,在使用jpa的時候,大部份的屬性數(shù)據(jù)類型都是string,我們也知道string映照到數(shù)據(jù)庫最大長度為255,在mysql數(shù)據(jù)庫中映照為varchar(255),如圖所示:
我們也看到了,如果我想保存1篇文章,單純的用string類型的去映照,明顯是沒辦法辦到的,由于保存100多個漢字基本就會超越數(shù)據(jù)庫的極限了。那末該怎樣辦呢?
沒錯我們可使用@Lob注解,Lob適用于標(biāo)注字段類型為Clob和Blob的類型,Clob是長字符串類型,映照中實體類型可以為char[]、Character[]、或String類型;Blob是字節(jié)類型,映照為實體中的類型為byte[]、Byte[]、或?qū)崿F(xiàn)了Serializable接口的類型。這兩種類型的數(shù)據(jù)1般占用的內(nèi)存空間比較大,1般設(shè)置為lazy加載。
通過查詢?nèi)〉玫臄?shù)據(jù),簡單的實例就用json在頁面顯示了:
現(xiàn)階段遇到的問題都是由解決方案的。