|
![](static/image/common/ico_lz.png)
楼主 |
发表于 2008-1-7 09:24
|
显示全部楼层
概念有点反了, 是应该从class diagram 入手, 用oo的观点找出entities 和关系, 构造hibernat的Mapping, 然后生成成数据库的tables.
>>个人认为应该有两者方法. 一个是正向工程, 从Hibernate -> 数据库, 还有一个是反向工程, 从数据库->Hibernate
>>两个方法个有利弊, 正向工程的缺点是这样以来, 编码和搭建数据库的工作就都落在程序员的身上, 对程序员要求较高, 而一般来说,数据库DBA的建立数据库的经验要比程序员
>>丰富,更能胜任复杂数据库的设计和建立任务.
>>反向工程的缺点是, 数据库必须已经建立,否则无法进行编码工作.
>>从实际情况来看,很小的项目,正向反向差别不太大,复杂的项目,一般用反向工程多些.
如果想从已经存在的DB Tables 生成 Hibernate 的 Mapping, pojo classes, 可以用 Hibernate Tools, 有专门的Eclipse Plugin.
hibernate tools对付2.0还有用,但是对于3.0完全的JPA支持以及annotation就不好用。现在手上的annotation几乎都是手动添加的,很繁琐,但如果用mapping文件似乎又失去了JPA本身的意义。相信类似的专业工具很快也会有。
>>在hibernate的论坛上看到 xdoclet可以把pojo + mapping转化成 带annotation的pojo.不过我没用过.不知道效果如何.
>>关与annotation和mapping那个更好,我觉得,annotation的好处是把标签和 pojo 放在一起.程序员阅读方便了. 不便的地方是要求平台JDK5.0以上才能支持annotation
>>mapping的缺点是 tag 和 pojo分离,不方便程序员的阅读,好的地方是可以也在JDK5.0以下平台上运行,向下兼容.
>>工具只能帮程序员动态生成个大概,细节或根据实际情况要改动的地方只能靠程序员手工完成.
[ 本帖最后由 stewchicken 于 2008-1-7 11:31 编辑 ] |
|