在CMP實(shí)體BEAN中使用BLOB數(shù)據(jù)類型
|
2005-07-19? ?來源:matrix.org.cn ?作者:matrix.org.cn |
摘要:
在Oracle這樣的關(guān)系數(shù)據(jù)庫中,CLOB和BLOB類型被用來存放大對象。BOLB表示二進(jìn)制大對象,這種數(shù)據(jù)類型通過用來保存圖片,圖象,視頻等。CLOB表示字符大對象,能夠存放大量基于字符的數(shù)據(jù)。JDBC定義java類型java.sql.Clob 和java.sql.Blob 對應(yīng)數(shù)據(jù)庫中的CLOB和BLOB類型。然而這兩種類型并不能在實(shí)體BEAN中使用,因?yàn)檫@兩個類沒有被序列化(Serializable)。因此我們不能在CMP實(shí)體BEAN中定義java.sql.Clob或java.sql.Bl 在Oracle這樣的關(guān)系數(shù)據(jù)庫中,CLOB和BLOB類型被用來存放大對象。BOLB表示二進(jìn)制大對象,這種數(shù)據(jù)類型通過用來保存圖片,圖象,視頻等。CLOB表示字符大對象,能夠存放大量基于字符的數(shù)據(jù)。 JDBC定義java類型java.sql.Clob 和java.sql.Blob 對應(yīng)數(shù)據(jù)庫中的CLOB和BLOB類型。然而這兩種類型并不能在實(shí)體BEAN中使用,因?yàn)檫@兩個類沒有被序列化(Serializable)。因此我們不能在CMP實(shí)體BEAN中定義java.sql.Clob或java.sql.Blob這兩種數(shù)據(jù)類型。 如果我們要使用數(shù)據(jù)庫的BLOB字段,我們必須在實(shí)體bean中聲明CMP字段為 byte[] 并映射該字段到數(shù)據(jù)庫的BLOB字段。如果要使用CLOB字段,我們需要使用定義CMP字段為 java.lang.String or char[] 。 一個ENTITY的范例 在一個企業(yè)里,處于安全考慮,我們也許要將員工的圖片保存到數(shù)據(jù)庫中的表里。這里我們使用EmployeePicture 作為范例來代表員工的圖片實(shí)體。這個EmployeePictureBean CMP有兩個屬性 empno, picture。 picture 字段被定義成byte[]型 。 該EmployeePicture實(shí)體BEAN被映射到EMPPIC數(shù)據(jù)表, picture 屬性被映射為EMPPIC 表中的picture 字段,該picture字段是定義為BLOB類型的。 下面是EmployeePictureBean.java的部分核心代碼: public abstract class EmployeePictureBean implements EntityBean 如果我們使用OC4J 9.0.4 ,就需要在orion-ejb-jar.xml中定義實(shí)體BEAN屬性到數(shù)據(jù)表字段的映射。如果使用了其他J2EE容器,就需要在相關(guān)廠商的部署描述符中定義O-R映射。下面演示在OC4J中的映射代碼: <entity-deployment name="EmployeePicture" data-source="jdbc/OracleDS" table="EMPPIC"> 客戶端: CMP實(shí)體BEAN的客戶端沒有什么特別的處理。唯一需要注意的是在update數(shù)據(jù)表時要使用BufferedInputStream 來讀取IMAGE文件,但在檢索數(shù)據(jù)表時使用OutputStream 。 下面演示如何讀取一個IMAGE文件,并創(chuàng)建一個BEAN實(shí)例: // Locate and open the file |
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
28 | 29 | 30 | 31 | 1 | 2 | 3 | |||
4 | 5 | 6 | 7 | 8 | 9 | 10 | |||
11 | 12 | 13 | 14 | 15 | 16 | 17 | |||
18 | 19 | 20 | 21 | 22 | 23 | 24 | |||
25 | 26 | 27 | 28 | 29 | 30 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
常用鏈接
留言簿(1)
隨筆檔案
- 2008年5月 (1)
- 2008年3月 (1)
- 2007年5月 (1)
- 2006年10月 (3)
- 2006年9月 (1)
- 2006年8月 (1)
- 2006年6月 (2)
- 2006年3月 (2)
- 2006年2月 (1)
- 2005年11月 (4)
文章檔案
java技術(shù)
- www.javaeye.com
- java專業(yè)技術(shù)
搜索
最新評論

- 1.?re: weblogic集成birt的問題解決[未登錄]
-
我用第二種方法,結(jié)果顯示空白內(nèi)容。我使用的是weblogic10.3
- --water
- 2.?re: weblogic集成birt的問題解決
-
您好LZ,我用你說的方法設(shè)置了,
可還是不行,還報(bào)那個錯,
我的weblogic是10.3的
請問還有辦法解決嗎? - --猜猜
- 3.?re: 向大家推薦一個SOA,J2EE,XML相關(guān)PDF下載網(wǎng)站
- 是許昌
- --是否規(guī)范
- 4.?re: weblogic集成birt的問題解決
- 評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
- --Maggie
- 5.?re: www.cms4j.com
- http://www.totcms.com/
- --http://www.totcms.com/