Hibernate逆向工程

来源:互联网 发布:冒泡排序c语言详解 编辑:程序博客网 时间:2024/06/07 22:07

Hibernate的开发流程

一般有以下2

        正向工程:Java实体类 ---->mapping---- > DB数据库关系表

        逆向工程:先创建DB数据库关系表,用工具生成生成mapping 和Java实体类。

        在实际的开发过程中,涉及的表太多了,一个一个的写java实体类纯属“体力活”,因为实体类固有的那么些属性,机械式的写get/set方法。Hibernate支持一个简单的方法:Hibernate逆向工程。可以由创建好的数据库关系表,直接生成映射文件和Java实体类,Dao也可以自动生成。很多时候,数据库是先存在先创建好的,因此逆向工程有方便之处。本文将详细介绍使用Eclipse完成Hibernate逆向工程。

步骤:

1、首先在安装的数据库中创建一个新数据库,在其下新建表,并且需要完整、正确处理他们之间的关系(外键)

        本例使用MySQL数据库。在mypersons数据库中,新建表persons(id , name , age)和phones(id , phone , person_id),如下图:

        persons表存储个人信息(id编号,姓名,年龄);phones表存储每个人的电话信息(一个人的电话可能有多个)。

2、创建一个数据库连接DataBase Connection[指定用哪个用户名、连接哪个数据库],连接到新建的数据库mypersons。参考http://blog.csdn.net/ljheee/article/details/52601218

3、新建一个普通Java工程(JavaProject),创建Hibernate配置文件(hibernate.cfg.xml

        右击工程,点击new--->Other,找到Hibernate选项,并展开,如下图:

选第一个Hibernate Configuration File。点击Next如下图

        最后一步打钩[Create a console configuration],创建控制台配置文件,控制台配置文件可工程名一致,在Hibernate视图下课显示。(在Hibernate视图下,右击控制台配置文件edit,修改版本4.3[插件和工具版本不匹配])。

 

4、在该工程下新建Hibernate逆向工程文件。

右击工程,点击new--->Other,找到Hibernate选项,并展开,选第3Hibernate Reverse Engineer File(Hibernate逆向工程文件)。点击Next,跳转到如下图界面:

         在上面的console configuration下拉框中找到工程的控制台配置文件,控制台配置文件和工程名一致。选中后,点击Refresh刷新,导入数据库中创建好的表。(Hibernate会根据 数据库中创建好的表,生成Java实体类和类的映射文件)。

5、生成Java实体类和映射文件:选Run按钮旁边那个图标,选其中Hibernate Code Generation Configurations,如下图:

在Main选项下:设定代码导出目录,导出路径到工程src,点Setup选择工程逆向工程文件,点击run生成代码。

 

在Exporters选项下:勾选如下,点击Run即可生成代码了。

 

 这里强调一个概念:

强实体  如Person类

弱实体  如Phone类,弱实体依赖于强实体而存在(Phone是依属于Person的)。删除时用级联cascade。当Person删除,其对应的Phone也删除。在使用Hibernate逆向工程时,Person 和Phone是先创建好的的数据库关系表,只有当创建正确的表,即表间关系,Hibernate逆向工程才能正确处理。

 

完整工程:https://github.com/ljheee/HbmReverseEngineer

1 0
原创粉丝点击