jiadd
Java Blog
BlogJava
首页
新随笔
联系
聚合
管理
随笔 - 23 文章 - 15 trackbacks - 0
<
2007年8月
>
日
一
二
三
四
五
六
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
31
1
2
3
4
5
6
7
8
留言簿
(3)
给我留言
查看公开留言
查看私人留言
随笔分类
(19)
HIBERNATE(1)
JUST FOR ME(4)
OTHERS(8)
SPRING(4)
STRUTS(1)
工作流(1)
搜索
最新随笔
1. win系统下oracle客户端免安装连接数据库服务器方法
2. Spring AOP 创建通知
3. 矩形旋转坐标点的问题
4. JfreeChar 画甘特图 时间轴(DateAxis)显示格式问题的解决
5. java反射机制的小例子
6. jbpm环境的搭建
7. 解决MySql的中文问题
8. jbmp - 1
9. 使用 JFreeChart来创建基于web的图表
10. 在项目中配置log4j
最新评论
1. re: 关于Spring的注入方式
总结的不错
--www.dsprint.cn(武汉印刷)
2. re: 关于Spring的注入方式
谢谢分享
--www.dsprint.cn
3. re: 关于Spring的注入方式[未登录]
非常感谢楼主,犹如拨开乌云见彩虹
--123
4. re: 关于Spring的注入方式
终于懂了 。thx
--EmptySauce
5. re: 關於Spring的注入方式
感謝您,非常實用的文章,也解決了我的問題。爬了不少網站,這篇很實用。再度感謝~
--ohlala
阅读排行榜
1. 关于Spring的注入方式(38109)
2. STRUTS2工作流程(5907)
3. JfreeChar 画甘特图 时间轴(DateAxis)显示格式问题的解决(2812)
4. 矩形旋转坐标点的问题(2799)
5. 【候杰】Java反射机制(spring准备知识一)(1919)
评论排行榜
1. 关于Spring的注入方式(6)
2. STRUTS2工作流程(4)
3. Sping的声明式事务处理(1)
4. 常用正则表达(1)
5. 几种创建接口对象的方法(1)
关于Hibernate中的映射问题
hibernate在解决数据持久化方面的确是很强大,在此给出数据库表中的MANY-TO-MANY在hibernate中是如何映射的.
其实呢多对多的关系映射,是在一对多的基础上进行的。
如果现在数据库中有两张表(经典的多对多:student-teacher)
student: studentid(primary key ),studentname
teacher: teacherid(primary key ),teachername
存放其关系的表:
stu_tea_relation
: studentid,teacherid
因为一对多的映射,几乎上都是通过Set来处理,所以多对多也是如此。首先生成POJO类,然后配置xml文件
其中的 Student.hbm.xml
1
<
hibernate-mapping
>
2
<
class
name
="org.jia.Student"
table
="student"
>
3
<
id
name
="studentid"
type
="integer"
>
4
<
column
name
="studentid"
/>
5
<
generator
class
="native"
/>
6
</
id
>
7
<
property
name
="studentname"
type
="string"
>
8
<
column
name
="studentname"
not-null
="true"
/>
9
</
property
>
10
<
set
name
="teachers"
table
="stu_tea_relation"
inverse
="true"
11
cascade
="all"
>
12
<
key
column
="studentid"
></
key
>
13
<
many-to-many
column
="teacherid"
14
class
="org.jia.Teacher"
>
15
</
many-to-many
>
16
</
set
>
17
</
class
>
18
</
hibernate-mapping
>
//name="teacher"是指在Student.java中的那个set对象,以及相应的getter,stter方法的名字
//inverse是说明,是通过谁来管理谁,在此为true,说明是通过老师来选学生
<set name="teachers" table="stu_tea_relation" inverse="true" cascade="all">
<key column="studentid"></key>
<many-to-many column="teacherid"
class="org.jia.Teacher">
</many-to-many>
</set>
同样的Teacher.hbm.xml
<
hibernate-mapping
>
<
class
name
="org.jia.Teacher"
table
="teacher"
>
<
id
name
="teacherid"
type
="integer"
>
<
column
name
="teacherid"
/>
<
generator
class
="native"
/>
</
id
>
<
property
name
="teachername"
type
="string"
>
<
column
name
="teachername"
not-null
="true"
/>
</
property
>
<
set
name
="students"
table
="stu_tea_relation"
inverse
="false"
cascade
="all"
>
<
key
column
="teacherid"
></
key
>
<
many-to-many
column
="studentid"
class
="org.jia.Student"
>
</
many-to-many
>
</
set
>
</
class
>
</
hibernate-mapping
>
posted on 2007-08-27 10:10
jiadong
阅读(205)
评论(0)
编辑
收藏
所属分类:
HIBERNATE
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理