(本文是从我的日常工作记录中转载的,所以说的比较乱)
注意:PowerDesigner15.0没有生成Hibernate映射文件功能,如果装了最好卸载吧.
我先来弄个mysql逆向到pd
1.File-->Reverse Engineer -->Database-->弹出Database Reverse Engineering对话框,选Using an ODBC data source选ODBC数据源
参考:http://tech.it168.com/a2009/0115/263/000000263182.shtml
我的练习,从mysql数据库中将数据库ybms反向映射到PD,然后会生成pdm(PhysicalDataModel)物理数据模型, 然后再在Tool-->Generate Object Oriented Model(产生对象向
导模型)-->
导出java和Hibernate文件: language--> Generate java Code -->选择相关的路径
导出的时候出现错误:generation has been cancelled because errors have been found by the check model
解决:
进入Database - Edit Current DBMS 直接在Script\Objects的中maxconstlen里修改就可以了 (把value值调大(原为30),比如改成60。出现表或者其它对象的长度也有这
种错误的话都可以选择对应的objects照此种方法更改!)
check module老是报persistent class in default package
在Tools下的 Check Model Parameters 下将Package下的一些报错提示去掉,其他的错误也可以这样处理,(改了还是不行.......比较郁闷,改好了,在class选项下,仔细找找)
生成工程终于成功啦!!!!!!!!!!!!!!!
小技巧1:生成html报告:Report --> Generate Report
小技巧2:PowerDesigner中,但修改了某个字段的name,其code也跟着修改,这个问题很讨厌,因为一般来说,name是中文的,code是字段名。
解决方法如下:
1、选择Tools->GeneralOptions...菜单,出现General Options对话框。
2、从Category中选择Dialog项。
3、取消右边“Name to Code mirroring”复选框。
后记:我一直在想是先有鸡呢,还是先有蛋呢?无论怎么样,必须有一个在另外那个才会出现.
我有数据库的话,可以通过myEclipse反向工程:生成DAO,Hibernate配置文件,实体类等.
如果我有实体类,Hibernate配置文件,我又可以通过
<prop key="hibernate.hbm2ddl.auto">update</prop>
正向映射出表结构.
看似以上两个方法差不多,后者可以沿着面向对象的思路去写类,前者可能是根据需求来定表关系.
不过有了PD,那太有福了,呵呵.
我的一个朋友去面试,面试官问他你们的类是如何生成的,他说手写的,那面试官笑了.(不知道他的笑是牛B的笑,还是傻B的笑)