码迷,mamicode.com
首页 > 数据库 > 详细

MyEclipse从数据库逆向生成Hibernate实体类

时间:2015-05-04 11:36:56      阅读:200      评论:0      收藏:0      [点我收藏+]

标签:

这个分为二个操作:数据库操作和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服务器->运行项目 

最后得到:

技术分享

MyEclipse从数据库逆向生成Hibernate实体类

标签:

原文地址:http://www.cnblogs.com/ZSK991656110/p/4475499.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!