前文:

hibernate带给我们的O/RMapping思想是很正确的,即从面相对象的角度来设计工程中的实体对象,建立pojo,然后在编写hbm.xml映射文件来生成数据表。但是在实际开发中,往往我们会首先从数据库的设计角度出发来实现我们预期的项目。所以,这里详述从数据库表到实体类的生成。

数据库:MySQL 5.1

MyEclipse版本:8.0M1

Hibernate版本:3.2

首先,我在数据库中建立了如下E-R关系:

学生与班级1对多,学生与课程多对多(生成的中间表为:stu_course),学生与身份证:1对1,学生引用身份证主键作为外键(unique)。

生成的表结构:

准备工作已经就绪,下面,我们开始进行反向工程。

按照下图所示,打开MyEclipse Database Explore视图

在空白区点击右键,新建一个数据库对象。

点击Add Jars,加入数据库的jar文件。

填写Connection Url: jdbc:mysql://localhost:3306/hibernatetab2pojo

用户名和密码:root

Driver name:  com.mysql.jdbc.Driver

填写完毕之后,可以点击Test Driver,如果成功,那么接着下一步。

转回到Java视图,在项目上点击右键,选择MyEclipse-->add Hibernate Capabilities

然后下一步选中一个目录存放自动生成hibernate.cfg.xml文件,一般毫无例外的放在src根目录下,下一步选中我们第一步建立的那个数据库对象,然后下一步选中一个目录存放自动生成的HibernateSessionFactory工具类,这个hibernateSessionFactory工具类就是一个获取Session的单例,还有一些其它关闭session之类的方法。
最后,也是最关键的一步,生成实体类。

转换到MyEclipse Database Explorer视图,打开我们的数据库:hibernatetab2pojo,展开表,选中所有表:

然后,点击右键,选择Hibernate Reverse Engineering。。。

选中:Create POJO<>。。。,选中Create a Hibernate。。。,选中Update Hibernate。。。。。,接着下一步。


Id Generator:选中native(在我设计的表中,id是自增的,如果想尝试其它的朋友可自行测试)

选择:Hibernate types

其它能打勾的都打勾。

下一步,直接点击finish即可以生成实体类和相应的hbm.xml文件。并且hibernate.cgf.xml也会配置好。

MyEclipse从数据库反向生成实体类之Hibernate方式 反向工程的更多相关文章

  1. J2EE进阶(十五)MyEclipse反向工程实现从数据库反向生成实体类之Hibernate方式

    J2EE进阶(十五)MyEclipse反向工程实现从数据库反向生成实体类之Hibernate方式   反向工程又称逆向工程.   开发项目涉及到的表太多,一个一个的写JAVA实体类很是费事.MyEcl ...

  2. MyEclipse从数据库反向生成实体类通过Hibernate的方式----mysql数据库实例

    1.我们通过DB与数据库建立连接 2.建立web工程,构建Hibernate框架 3.通过table生成实体类

  3. MyEclipse从数据库表反向生成实体类之Hibernate方式(反向工程)

    一.打开Myeclipse Database Explorer 二.新建[New..] 三.选择数据库,添加驱动 四.测试连接 五.选中数据库中的表单击右键选择[Hibernate Rever..] ...

  4. MyEclipse数据库反向生成实体类

    MyEclipse数据库反向生成实体类 “计应134(实验班) 凌豪” 当我们在开发项目涉及到的表太多时,一个一个的写JAVA实体类很是费事.然而强大的MyEclipse为我们提供简便的方法:数据库反 ...

  5. Eclipse实现数据库反向生成实体类(pojo)-------(插件安装和实现步骤的说明)

    一.插件安装 1.下载插件: http://jaist.dl.sourceforge.net/sourceforge/jboss/HibernateTools-3.2.4.Beta1-R2008103 ...

  6. 使用MyEclipse生成实体类和Hibernate映射文件

    1.打开MyEclipse DataBase Explorer. 如上图,点击图中2便可切换到MyEclipse DataBase Explorer,若没有该图标,则点击图中1,便可选择MyEclip ...

  7. 使用T4为数据库自动生成实体类

    T4 (Text Template Transformation Toolkit) 是一个基于模板的代码生成器.使用T4你可以通过写一些ASP.NET-like模板,来生成C#, T-SQL, XML ...

  8. 自定义tt文本模板实现MySql指数据库中生成实体类

    自定义tt文本模板实现MySql指数据库中生成实体类 1.在项目中依次点击“添加”/“新建项”,选择“文本模板”,输入名称后点击添加. 2.在Base.tt中添加如下代码. <#@ templa ...

  9. MyEclipse 从数据库反向生成Hibernate实体类

    第一个大步骤 window-->open Perspective-->MyEclipse Java Persistence 进行了上面的 操作后会出现一个视图DB Brower:MyEcl ...

随机推荐

  1. SignalR + MVC5 简单示例

    本文和前一篇文章很类似,只不过是把 SignalR 应用在了 MVC 中 新建项目,选择 MVC 模板 安装 SignalR Install-Package Microsoft.AspNet.Sign ...

  2. C# 6.0那些事

    这两天期中考试没时间去看Connect();直播,挺可惜的,考完后补看了Connect(); 把C#6.0的新东西总结一下. 自动属性初始化 (Initializers for auto-proper ...

  3. Atitit. BigConfirmTips 控件 大数据量提示确认控件的原理and总结O9

    Atitit. BigConfirmTips 控件 大数据量提示确认控件的原理and总结O9 1. 主要的涉及的技术 1 2. 主要的流程 1 3. 调用法new confirmO9t(); 1 4. ...

  4. paip.日期时间操作以及时间戳uapi php java python 总结

    paip.日期时间操作以及时间戳uapi php java python 总结 ///uapi Date 函数 | Day 函数 | Hour 函数 | Minute 函数 | Month 函数 | ...

  5. paip.广告过滤系统 php 实现

    paip.广告过滤系统 php 实现 作者Attilax  艾龙,  EMAIL:1466519819@qq.com  来源:attilax的专栏 地址:http://blog.csdn.net/at ...

  6. MYSQL中约束及修改数据表

    MYSQL中约束及修改数据表 28:约束约束保证数据的完整性和一致性约束分为表级约束和列级约束约束类型包括:    NOT NULL(非空约束)    PRIMARY KEY(主键约束)    UNI ...

  7. 如何保证access_token长期有效

    为了使第三方开发者能够为用户提供更多更有价值的个性化服务,微信公众平台开放了许多接口,包括自定义菜单接口.客服接口.获取用户信息接口.用户分组接口.群发接口等,开发者在调用这些接口时,都需要传入一个相 ...

  8. android 给空白包签名

    前言:之前公司app在腾讯开放平台认领应用时,涉及了一个问题:就是给空白包签名.然后再上传上去审核. 腾讯开放平台的官方说明如下, 如何签名:jarsgner-verbose-keystore[key ...

  9. Extjs4中RadioGroup的赋值与取值

    1.定义rg var rg = new Ext.form.RadioGroup({ fieldLabel : "test", items : [{ boxLabel : '每天', ...

  10. c++builder调用VC的dll以及VC调用c++builder的dll

    解析__cdecl,__fastcall, __stdcall 的不同:在函数调用过程中,会使用堆栈,这三个表示不同的堆栈调用方式和释放方式. 比如说__cdecl,它是标准的c方法的堆栈调用方式,就 ...