(十四)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
完成。在图中设置的对应的目录下则会生成实体和映射文件。
(十四)hibernate逆向工程的更多相关文章
- Hibernate(十四篇)
(一)Hibernate简介 (二)hibernate配置管理 (三)Hibernate对象-关系映射文件 (四)Hibernate API详解 (五)Hibernate一级缓存 (六)Hiberna ...
- spring boot 常见三十四问
Spring Boot 是微服务中最好的 Java 框架. 我们建议你能够成为一名 Spring Boot 的专家. 问题一 Spring Boot.Spring MVC 和 Spring 有什么区别 ...
- Spring Boot(十四):spring boot整合shiro-登录认证和权限管理
Spring Boot(十四):spring boot整合shiro-登录认证和权限管理 使用Spring Boot集成Apache Shiro.安全应该是互联网公司的一道生命线,几乎任何的公司都会涉 ...
- 开发指南专题十四:JEECG微云高速开发平台MiniDao 介绍
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhangdaiscott/article/details/27068645 开发指南专题十四:J ...
- springboot(十四):springboot整合shiro-登录认证和权限管理(转)
springboot(十四):springboot整合shiro-登录认证和权限管理 .embody{ padding:10px 10px 10px; margin:0 -20px; border-b ...
- 我的MYSQL学习心得(十四) 备份和恢复
我的MYSQL学习心得(十四) 备份和恢复 我的MYSQL学习心得(一) 简单语法 我的MYSQL学习心得(二) 数据类型宽度 我的MYSQL学习心得(三) 查看字段长度 我的MYSQL学习心得(四) ...
- 雅虎(yahoo)前端优化十四条军规
第一条.尽可能的减少 HTTP 的请求数 (Make Fewer HTTP Requests ) http请求是要开销的,想办法减少请求数自然可以提高网页速度.常用的方法,合并css,js(将一个页面 ...
- Bootstrap<基础二十四> 缩略图
Bootstrap 缩略图.大多数站点都需要在网格中布局图像.视频.文本等.Bootstrap 通过缩略图为此提供了一种简便的方式.使用 Bootstrap 创建缩略图的步骤如下: 在图像周围添加带有 ...
- Bootstrap<基础十四> 按钮下拉菜单
使用 Bootstrap class 向按钮添加下拉菜单.如需向按钮添加下拉菜单,只需要简单地在在一个 .btn-group 中放置按钮和下拉菜单即可.也可以使用 <span class=&qu ...
随机推荐
- 五个知识体系之-Linux常用命令学习
1.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: ls -a 列出目录所有文 ...
- java的Access restriction错误
问 :import sun.management.ManagementFactory,我在rt包下已经找到sun.management.ManagementFactory,但就是有错,请问怎么回事. ...
- 九度OJ 1179:阶乘 (循环)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5149 解决:1523 题目描述: 输入n, 求y1=1!+3!+...m!(m是小于等于n的最大奇数) y2=2!+4!+...p!(p是 ...
- 九度OJ 1175:打牌 (模式匹配)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8156 解决:1560 题目描述: 牌只有1到9,手里拿着已经排好序的牌a,对方出牌b,用程序判断手中牌是否能够压过对方出牌. 规则:出牌 ...
- 九度OJ 1061:成绩排序 (排序)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:17158 解决:4798 题目描述: 有N个学生的数据,将学生数据按成绩高低排序,如果成绩相同则按姓名字符的字母序排序,如果姓名的字母序也相 ...
- 九度OJ 1018:统计同成绩学生人数 (基础题)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8807 解决:4651 题目描述: 读入N名学生的成绩,将获得某一给定分数的学生人数输出. 输入: 测试输入包含若干测试用例,每个测试用例的 ...
- ios导航栏问题
http://m.blog.csdn.net/article/details?id=47395605
- div中p标签自动换行
只需要设置div的width属性,p标签加上word-break:break-word属性就会自动换行 ----------------2016.7.1-------------------- 今天在 ...
- EASYARM-IMX283 编译uboot和uImage
本文是按照IMX283配套光盘的流程重新编译uboot和uImage将光盘中的gcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2 解压 ...
- 分享知识-快乐自己:oracle表分区详解
从以下几个方面来整理关于分区表的概念及操作: 1)表空间及分区表的概念: 2)表分区的具体作用: 3)表分区的优缺点: 4)表分区的几种类型及操作方法: 5)对表分区的维护性操作: 1):表空间及分区 ...