• (十四)hibernate逆向工程


    一、hibernate逆向工程生成实体

    介绍一个模型设计工具PowerDesigner,这个是j2ee开发必要的一个工具。一般在开发中先使用PowerDesigner 创建实体关系图即概念模型。建立了概念模型后生成特定数据库类型的物理模型,然后根据物理模型的创建表脚本创建库表;最后使用MyEclipse的hibernate特性针对表逆向生成实体类和映射文件。这样免去了编写实体和映射文件及其实体关系的麻烦。

    二、 设计概念模型

    relationship  一般的实体关系都可以使用,如果实体之间的关系指定为多对多,那么在生成pdm时则自动会生成一个以2个实体主键联合起来作为联合主键的一张新的关系表

    inheritance 实体之间的继承关系,如:员工——领导

    association 关系,如角色与人员存在多对多关系叫做:人员角色,这个关系里面还可能有是否、状态等。

    association link 用于连接实体和关系

    link/extended dependency 实体或关系的额外信息,信息比较独立;不会产生主外键关系

    例如;设计一个人员组织架构:有机构、部门、员工、领导、角色、权限。

    一个机构有多个部门

    一个部门有多个员工

    领导可以管理多个部门,同时领导他自己也是员工

    一个员工可以有多个角色

    一个角色可以分配给多个人

    人员角色分配后可以设置是否有效,分配时间等

    一个角色有多个权限

    在概念模型阶段直接转成物理模型后,转换后的物理模型可以根据项目实际情况再调整相关信息。

     三、导出物理模型

    在物理模型指定或修复主外键关系,一般情况下只需要制定主键的生成策略,外键关系会从概念模型中保留下来。如果对其自动生成外键关系不满意可以在物理模型中修改。在物理模型中的任何修改都会体现在SQL语句中,所以建表时直接复制其语句即可。

    (四)物理模型 –生成库表

    (五)逆向生成实体及映射文件

    1、  添加hibernate facet到项目

    右击项目——MyEclipse——Project Facets[compabilities]——install Hibernate facet)

    2、  在MyEclipse中打开DB Browser视图:

     

    在 Id Generator 中,如果是mysql 中需要自增的可选择native,如果是uuid的可选择uuid.hex或uuid

     

    完成。在图中设置的对应的目录下则会生成实体和映射文件。

  • 相关阅读:
    使用gdb跟踪Linux内核启动过程(从start_kernel到init进程启动)
    对一个简单的时间片轮转多道程序内核代码的浅析
    初识计算机工作过程
    React 中 路由 react-router-dom 的用法
    Vue Nuxt.js项目启动后可以在局域网内访问的配置方法
    node express async regeneratorRuntime is not defined (已解决)
    node+vue实现微信支付(沙箱)完整版,亲测可用
    node+vue实现支付宝支付(沙箱)完整版,亲测可用
    Vue.js中Line第三方登录api实现[亲测可用]
    React中WebSocket使用以及服务端崩溃重连
  • 原文地址:https://www.cnblogs.com/Michael2397/p/5936363.html
Copyright © 2020-2023  润新知