apple0668
TDD,Agile,Scrum,Core Java,J2EE,Investment Blank
BlogJava
首頁
新隨筆
聚合
管理
隨筆-61 評論-159 文章-0 trackbacks-0
系統學習hibernate之十一:set、list、map、array集合
hibernate中的集合的使用還是比較多,跟普通的string、int等字段處理的方式不一樣,下面介紹
set、list、map、array集合
在hibernate中的應用。
例子:
1、
CollectionMapping的POJO類
1
import
java.util.List;
2
import
java.util.Map;
3
import
java.util.Set;
4
5
public
class
CollectionMapping
{
6
private
int
id;
7
8
private
String name;
9
10
private
Set setValue;
11
12
private
List listValue;
13
14
private
String[] arrayValue;
15
16
private
Map mapValue;
17
//
省略setter、getter方法
18
}
2、
CollectionMapping.hbm.xml
映射文件
1
<?
xml version="1.0"
?>
2
<!
DOCTYPE hibernate-mapping PUBLIC
3
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd"
>
5
<
hibernate-mapping
package
="org.apple.hibernate"
>
6
<
class
name
="CollectionMapping"
table
="t_collectionMapping"
>
7
<
id
name
="id"
>
8
<
generator
class
="native"
/>
9
</
id
>
10
<
property
name
="name"
/>
11
<
set
name
="setValue"
table
="t_set_value"
>
12
<
key
column
="set_id"
/>
13
<
element
type
="string"
column
="set_value"
/>
14
</
set
>
15
<
list
name
="listValue"
table
="t_list_value"
>
16
<
key
column
="list_id"
/>
17
<
list-index
column
="list_index"
/>
18
<
element
type
="string"
column
="list_value"
/>
19
</
list
>
20
<
array
name
="arrayValue"
table
="t_array_value"
>
21
<
key
column
="array_id"
/>
22
<
list-index
column
="array_index"
/>
23
<
element
type
="string"
column
="array_value"
/>
24
</
array
>
25
<
map
name
="mapValue"
table
="t_map_value"
>
26
<
key
column
="map_id"
/>
27
<
map-key
type
="string"
column
="map_key"
/>
28
<
element
type
="string"
column
="map_value"
/>
29
</
map
>
30
</
class
>
31
</
hibernate-mapping
>
3、利用SchemaExport生成數據庫表
mysql> desc t_array_value;
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| array_id | int(11) | NO | PRI | | |
| array_value | varchar(255) | YES | | NULL | |
| array_index | int(11) | NO | PRI | | |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.03 sec)
mysql> desc t_array_value;
+-------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-------------+--------------+------+-----+---------+-------+
| array_id | int(11) | NO | PRI | | |
| array_value | varchar(255) | YES | | NULL | |
| array_index | int(11) | NO | PRI | | |
+-------------+--------------+------+-----+---------+-------+
3 rows in set (0.03 sec)
mysql> desc t_list_value;
+------------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------+--------------+------+-----+---------+-------+
| list_id | int(11) | NO | PRI | | |
| list_value | varchar(255) | YES | | NULL | |
| list_index | int(11) | NO | PRI | | |
+------------+--------------+------+-----+---------+-------+
3 rows in set (0.03 sec)
mysql> desc t_map_value;
+-----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| map_id | int(11) | NO | PRI | | |
| map_value | varchar(255) | YES | | NULL | |
| map_key | varchar(255) | NO | PRI | | |
+-----------+--------------+------+-----+---------+-------+
3 rows in set (0.03 sec)
mysql> desc t_set_value;
+-----------+--------------+------+-----+---------+-------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+-------+
| set_id | int(11) | NO | MUL | | |
| set_value | varchar(255) | YES | | NULL | |
+-----------+--------------+------+-----+---------+-------+
2 rows in set (0.03 sec)
4、測試方法:
1
public
void
testSave1()
2
{
3
Session session
=
null
;
4
CollectionMapping c
=
new
CollectionMapping();
5
6
c.setName(
"
xxx
"
);
7
8
Set setValue
=
new
HashSet();
9
setValue.add(
"
a
"
);
10
setValue.add(
"
b
"
);
11
c.setSetValue(setValue);
12
13
List listValue
=
new
ArrayList();
14
listValue.add(
"
c
"
);
15
listValue.add(
"
d
"
);
16
c.setListValue(listValue);
17
18
String[] arrayValue
=
new
String[]
{
"
e
"
,
"
f
"
}
;
19
c.setArrayValue(arrayValue);
20
21
Map mapValue
=
new
HashMap();
22
mapValue.put(
"
k1
"
,
"
v1
"
);
23
mapValue.put(
"
k2
"
,
"
v2
"
);
24
c.setMapValue(mapValue);
25
try
{
26
session
=
HibernateUtil.getSession();
27
session.beginTransaction();
28
session.save(c);
29
session.getTransaction().commit();
30
31
}
catch
(Exception e)
{
32
//
TODO: handle exception
33
session.beginTransaction().rollback();
34
}
finally
{
35
session.close();
36
}
37
}
-------------------------------------------------------------------------------------------------
PS:本博客文章,如果沒有注明是有“轉”字樣,屬于本人原創。如果需要轉載,務必
注明作者
和
文章的詳細出處地址
,否則不允許轉載,多謝合作!
posted on 2008-10-26 13:16
apple0668
閱讀(2238)
評論(2)
編輯
收藏
所屬分類:
hibernate
評論:
#
re: 系統學習hibernate之十一:set、list、map、array集合 2008-10-26 23:09 |
wt
大哥!非常有用!謝謝嘍!!!!
回復
更多評論
#
re: 系統學習hibernate之十一:set、list、map、array集合
2012-08-04 11:32 |
aderkayy
謝謝樓主的分享!
回復
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
系統學習hibernate之十五:hibernate一級緩存
系統學習hibernate之十四:hibernate中HQL查詢語言(二)
系統學習hibernate之十三:hibernate中HQL查詢語言(一)
系統學習hibernate之十二:hibernate中悲觀鎖和樂觀鎖
系統學習hibernate之十一:set、list、map、array集合
系統學習hibernate之十:Component映射
系統學習hibernate之九:多對多關聯映射(雙向)
系統學習hibernate之八:多對多關聯映射(單向)
系統學習hibernate之七:一對多單向關聯
系統學習hibernate之六:一對一外鍵關聯映射雙向關聯
Email:
chensp1230@163.com
歡迎交流
框架是告訴人們不該去做什么,而不是告訴人們該去做什么;容器是告訴人們該去做什么,而不是告訴人們不該去做什么!
<
2008年10月
>
日
一
二
三
四
五
六
28
29
30
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
31
1
2
3
4
5
6
7
8
留言簿
(10)
給我留言
查看公開留言
查看私人留言
我參與的團隊
深圳Java俱樂部(0/0)
Netbeans 愛好者(0/0)
隨筆分類
(63)
Aglets(1)
drools(2)
eclipse(6)
groovy
hibernate(17)
java(7)
jboss
junit(3)
Log4(2)
MongoDB(1)
oracle(1)
spring(4)
struts2(8)
svn(1)
tomcat(4)
webwork(4)
web報表(1)
xml
心情港灣
集群(1)
隨筆檔案
(61)
2015年3月 (1)
2012年7月 (1)
2012年4月 (1)
2011年5月 (3)
2010年1月 (2)
2009年3月 (1)
2008年12月 (2)
2008年11月 (5)
2008年10月 (16)
2008年9月 (1)
2008年4月 (1)
2008年1月 (2)
2007年11月 (2)
2007年10月 (15)
2007年9月 (8)
友情鏈接
開源在線手冊
最新隨筆
1.?Ehcache集群方案
2.?MongoDB安裝手記
3.?任何人都可以重構<轉載>
4.?JDK6中JWS自帶webservice應用
5.?解決:Eclipse啟動tomcat 訪問不了 手動啟動可以訪問
6.?IntelliJ Idea10 常用快捷鍵
7.?Drools語法詳解<轉>
8.?eclipse3.4安裝drools插件手記
9.?Java日期時間運算
10.?java中使用功能強悍的正則表達式
搜索
最新評論
1.?re: Tomcat:IOException while loading persisted sessions: java.io.EOFException解決手記
非常感謝樓主分享,解決問題, Tomcat 7.0.59
--Gozs
2.?re: Tomcat:IOException while loading persisted sessions: java.io.EOFException解決手記[未登錄]
正解
--gao
3.?re: Tomcat:IOException while loading persisted sessions: java.io.EOFException解決手記
@123
已解決,謝謝提示myeclipse相關的有用信息~~
--sequoah
4.?re: Tomcat:IOException while loading persisted sessions: java.io.EOFException解決手記
贊 清空work文件夾就可以了
--維尼
5.?re: Tomcat:IOException while loading persisted sessions: java.io.EOFException解決手記
很好 問題解決了!
--兔兔
閱讀排行榜
1.?Tomcat:IOException while loading persisted sessions: java.io.EOFException解決手記(85541)
2.?系統學習hibernate之一:利用hibernate中的SchemaExport生成數據表(18641)
3.?eclipse的第一個struts2插件:Alveole Studio MVC Web Project An eclipse plugin for Struts 2(15692)
4.?Subversion之路---實現精細的目錄訪問權限控制<轉>(11308)
5.?IntelliJ Idea10 常用快捷鍵(9321)
評論排行榜
1.?Tomcat:IOException while loading persisted sessions: java.io.EOFException解決手記(62)
2.?eclipse的第一個struts2插件:Alveole Studio MVC Web Project An eclipse plugin for Struts 2(32)
3.?Tomcat啟動端口被占用異常處理(9)
4.?升級瑞星防火墻2008后,在myeclipse6.0中啟動tomcat遇到怪問題!(7)
5.?JDK6中JWS自帶webservice應用(6)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 apple0668
主站蜘蛛池模板:
亚洲国产精品综合一区在线
|
亚洲人成网站色在线入口
|
亚洲国产精品热久久
|
中文字幕手机在线免费看电影
|
亚洲精品tv久久久久
|
www.av在线免费观看
|
久久影视综合亚洲
|
日韩免费高清播放器
|
亚洲AV成人无码久久精品老人
|
亚欧免费一级毛片
|
亚洲精品国产手机
|
青春禁区视频在线观看直播免费
|
亚洲AV成人影视在线观看
|
免费观看的毛片手机视频
|
免费看美女午夜大片
|
亚洲午夜久久久久久噜噜噜
|
久久99精品免费视频
|
亚洲人成影院在线高清
|
国产成人3p视频免费观看
|
av成人免费电影
|
亚洲黄色在线观看视频
|
欧洲精品成人免费视频在线观看
|
亚洲国产精品无码久久
|
国产日产亚洲系列
|
91av在线免费视频
|
亚洲成熟丰满熟妇高潮XXXXX
|
亚洲黄片手机免费观看
|
51视频精品全部免费最新
|
亚洲精品久久无码
|
亚洲熟妇av一区二区三区
|
在线视频精品免费
|
日韩精品免费一线在线观看
|
亚洲av鲁丝一区二区三区
|
蜜臀91精品国产免费观看
|
av午夜福利一片免费看久久
|
亚洲成人黄色网址
|
亚洲精品无码你懂的网站
|
91免费国产自产地址入
|
一区二区三区在线免费
|
亚洲国产精品成人综合色在线婷婷
|
凹凸精品视频分类国产品免费
|