谢谢saro的回复。不知道各位高手有什么其它见解。

解决方案 »

  1.   

    我感觉不用花太多功夫去研究XML,XML在hibernate中所能用到的知识主要是实现数据表与持久类的映射.初学hibernate时,先不要使用一些开发工具,比如说MyEclipse,该插件是EclipseIDE的一个插件,它集成了hibernate,见意先不要使用它,最好能自己写点功能简单点的数据库访问程序,哪怕仅是一条添加功能也行,从设计数据表到写持久类到写XML文件都应该一个字母一个字母的写上,如果不会可以查一些资料(但不是抄),这样会学到很多东西的,加油吧!!
      

  2.   

    谢谢boshuai的建议。
    我也是这样做的。
    现在能够写出xml和对应的java。
    也能够自己在数据库中建表。只是现在想把自己的理解思路弄通顺一些。
    不知道做过hibernate的高手们是怎么做的?
    是设计好数据库。然后弄出hbm和java来。
    还是设计好hbm生成java和数据库。因为这关系到一个思想问题。hibernate是为了解决面向对象与关系数据库之间映射问题的框架。
    如果先设计数据库,那么就是以关系的思维模式来设计整个系统。
    如果先设计数据持久类。那么就是以面向对象的方式设计整个系统。不知道我的这点理解,有什么问题没有。希望各位拍玉。
      

  3.   

    应该是先设计好数据库,可以将数据库优化成一个比较好的范式,第三范式就行.然后写持久类,一般是将每一个表都设计成一个持久类,最好是写XML(映射文件)
    如果是在MyEclipse下,有一个数据库管理器,在这里面可以设计后数据库中表之间的对应关系,它自动就会生成hibernate配置文件,xml映射文件和持久化类
    总之,在做hibernate之前,必须先设计好数据库,确定好表之间的关系,否则一切都是空谈
      

  4.   

    to boshuai
    的确,先设计好数据库然后写持久类,这种开发方式能够使用大量的现成工具。而且开发速度很快。
    但是我担心,这样的开发顺序能不能有效发挥hibernate的特性。使hibernate沦为连接数据库的傀儡。
    在后面的开发中还是不得不写一些非面向对象的sql语句。是不是按照第三范式设计就可以让hibernate发挥作用了?
    不知道您有没有相关的经验共享一下。谢谢。
      

  5.   

    不不不,hibernate可以完全操作数据库,也就是说对数据的任何操作都可以用hibernate来实现,hibernate中内钳一种语句比SQL语句还强大,叫HQL,是一种面向对象的查询语言,你可以用不着写半句SQL语句也可以操作数据库.你可以试一下,另外建议你上网上找几本好的hibernate书看一下.
    楼主您现在可以对hibernate的作用有一点点误会,hibernate非常强大,如果有动手写一个小程序的话一切就明白了
      

  6.   

    谢谢boshuai的指点
    看来我还是站在门外。
    我在进一步的写一下吧!
      

  7.   

    楼上的大哥,楼主问的是在使用hibernate这种orm工具的情况下,应该基于对象建模还是基于数据库建模,你都扯到那去了。rod johnson的j2ee应用开发详解中的第4章提到过这个问题,他的看法是应该基于数据库建模,但原因说得不清楚。
    我在实际使用hibernate的开发中是采用的是对象建模的方法,感觉是比较自然的方式:先设计domain对象,映射文件,再用hibernate的schema export工具导出数据库的相应建表sql,如果不合适就反推回去。但我没做过“大项目”(所谓的大项目到底是什么呢?),希望做过大项目的兄弟发表一下看法。