用工具生成hbm映射文件?

fejjsong 07-10-24
         

我在一本书上看到这样一句话:“对于简单的系统使用手工方式编写映射文件会比较简单,但对于大型系统,最好使用XDoclet或者其他工具来自动保证映射文件与域模型的一致性,这可以在很大程度上减少由于域模型的变化而带来的麻烦。”
我比较困惑,因为我一直是用手工写的“hbm”映射文件,而不用去管数据库表的细节。我知道我们可以先在数据库里建好表,然后利用工具MyEclipse自动生成POJO对象和hbm映射文件,但是这样做就与Hibernate的使用背道而驰,这样做就不是面向对象的编程了,而是过多地依赖数据库,对以后的维护带来很多麻烦。Hibernate本身就是先有对象后有数据库表。
所以我请教一下大家,尤其是banq大哥,你们是手工写hbm映射文件,还是利用工具来生成呢?请详细回答我的问题哦,如果是用工具的话,最好能放几张图上来,那样就会给开发带来极大的效率,减少很多错误,而我们也不会为拿捏不定的配置
参数头痛了,谢谢!!!
请看清楚我的问题重点哦,我问的是,是用工具生成hbm文件,还是手工写,手工写有些参数的确很头痛,拿捏不好。

         

hiworld
2007-10-25 13:10

我认为应该手写hbm,从面向对象的角度考虑,先写映射文件,再可以用工具来生成DDL和JAVA源文件,有必要作一定的修改.

banq
2007-10-25 15:37

>尤其是banq大哥,你们是手工写hbm映射文件,还是利用工具来生成呢?
当然是手写,包括关联,也可以使用Annotation来写,比如JPA。

Java模型源码 + hbm映射 = 数据表

这个公式就象:
1 + 1 = 2

2是结果,要得到2,必须有1 + 1,就是Java模型源码 + hbm映射 ,如果有工具生成hbm映射,那么就必须首先有Java模型源码 和数据表,这两个家伙如果字段不一致?改哪个好?有OO思维的人,知道Java模型源是业务建模分析设计出来的,不能动,必须更改数据表,然后再使用工具生成 hbm映射,这个过程反而麻烦琐碎。

既然知道Java模型源不能动,数据表要根据Java源码改动,那不是将数据表作为结果是最方便的一个方法吗?这样做的缺点是必须手工写hbm映射


上面从逻辑角度帮你分析了是用手工写hbm映射还是用工具,总得来说,用工具容易导致数据库思维,而且将映射问题搞得更复杂。

>从面向对象的角度考虑,先写映射文件,再可以用工具来生成DDL和JAVA源文件
楼上这段话就矛盾,既然面向对象,就要保证Java对象源文件不要动,怎么还用工具来生成Java源文件呢?你可知道这个java源文件也就是Java模型,是从建模专家那里得来的,怎么你一个程序员说改就改?可能很多程序员还象你这样对Hibernate使用方式不是真正明白。

[该贴被banq于2007-10-25 15:39修改过]

fejjsong
2007-10-25 15:59

但是有些参数拿捏的不是很到位啊,比如关联关系,象inverse和cascade,像级联关系,比如级联删除,级联更新,需要设置save-update,delete,all-delete-orphan等等,还有generator的参数,一般我是选的native,知道什么意思,但是就是不敢乱写,都害怕出错,这些怎么避免呢?banq大哥!

fejjsong
2007-10-26 09:43

怎么避免啊?高手们!BANQ大哥人呢?

[该贴被fejjsong于2007-10-29 12:59修改过]

2Go 1 2 下一页