这个分为二个操作:数据库操作和MyEclipse操作
关系映射有:单双向1-n、n-1、n-n。
映射关系多由数据库里的表关系决定
当然也可以只对一个表进行操作
单双向1-n、n-1由二个表
单双向n-n由三个表,其中第三个表连接另外二个表
以下是创建n-n MyEclipse从数据库逆向生成Hibernate实体类:
数据库操作:
创建表:Person_inf
address_inf
person_address
其中的关系是:person_address创建外键
需要注意的是person_inf和address_inf这二个表的主键都要标识为自增
MyEclipse操作:
1.新建一个 Web Project项目
2.新建一个DB数据库连接:
Window->Show View->Other->搜索DB
右击空白处 New新建一个DB数据库连接:
Finish完成
3.右击项目名->MyEclipse->add Hibernate Capab.......
Next
Next
next
Finish完成
4.自动生成实体类:
Open打开DB数据库连接
找到数据库名字点开->找到dbo点开->找到TABLE点开->选择表右击->Hibernate Reverse Engineering..
单击Browse
勾选
Next下一步
Next下一步
分别单击Person_inf和address_inf二个表把Id Generator:里的值选择为:native
单击Finish完成
生成如下:
5.修改部分代码
(1).在hibernate.cfg.xml里的Mappings Add添加上AddressInf.hbm.xml和PersonInf.hbm.xml
(2).分别在AddressInf.hbm.xml和PersonInf.hbm.xml二个配置里的set标签里添加 cascade="all"级联
(3).把PersonInf.java里的代码:
save()方法里的代码
改为:
1 public void save(PersonInf transientInstance) { 2 log.debug("saving PersonInf instance"); 3 try { 4 Transaction t=getSession().beginTransaction(); 5 getSession().save(transientInstance); 6 t.commit(); 7 log.debug("save successful"); 8 } catch (RuntimeException re) { 9 log.error("save failed", re); 10 throw re; 11 } 12 }
然后就可以再index.jsp调用使用了。
6.index.jsp调用使用
单击->单击Add 添加Tomcat服务器
OK
运行Tomcat服务器->运行项目
最后得到: