想问一下,既然hibernate可以通过编写配置文件处理表之间的关系,那是否意味着在数据库中不需要再建立关系(既只要建表)?是否意味着通过hibernate操作会无视数据库关系?

解决方案 »

  1.   

    可以这么认为。可以在数据库中让每个表都是独立的,去除外键约束,通过hiernate来实现。只要配置好hbm.xml问就OK
      

  2.   


    完全扯淡数据库中的表关系和各种约束比hibernate还要底层,如果已经配置了数据库约束,那么hibernate不可能无视,如果无视得到的只能是数据库异常。数据库中的约束是保证数据一致性、完整性的最根本手段。再有,你可以去试一试使用hibernate的自动生成数据库表功能,你就能发现hibernate如何看待自身和数据库的关系。
      

  3.   

    两者所谓的关系,基本没什么关系。数据库 根本“不认识”hibernate。
    补充一句:一楼确实扯淡了。
      

  4.   

    2L +1
    用hibernate自动生成吧,各种约束也会自动生成,不过不熟悉的话可以删了这部分不用各种关系
    直接使用自动生成的DAO和model类
      

  5.   

    hibernate里面配置关系,会发现数据库里也会自动配置了关系。
      

  6.   

    数据库本身应该是完全独立的。长久的项目应该是数据库有自己的独立性,方便二次开发和重复应用。hibernate的本身用途只是为了简化数据库的操作,它不干预数据库本身的任何结构和数据。
      

  7.   

    正常的开发流程,应该先建数据库表,然后domain,对象映射文件,关系映射文件,我觉得这样的开发步骤,健壮性应该会高一点吧.?
      

  8.   

    楼主,请看正确回复:第一、
    hibernate通过编写配置文件处理表之间的关系,是为了简化我们手工建表建约束的繁琐流程,而且hibernate为我们建的表更加准确,而不会因为我们的手工操作导致错误。第二、
    假设你通过hibernate创建了两个对象,并且为这两个对象编写配置文件,而且在配置文件中写了关联关系(比如说:你建立了外键关联)。
    那么在这种情况下,hibernate会通过你编写配置文件自动为你创建数据库里的表,也会自动帮你建立它们的关联关系(比如说:外键关联)。
    在这个过程中,你什么都不需要做,只需要在数据库系统里创建一个新的数据库就行了,至于建表和建外键关联,全都由hibernate帮你解决。谢谢!
      

  9.   

    表之间的关系很重要了。。特别是多对多的关系,还有那种关系维护和统一,我觉得这也是hibernate的一个重要部分。。多点学一下这个关联关系,这是hibernate的一个重点
      

  10.   

    我是这么理解的:现在工作中数据库的关系应该由程序去维护。这样以后二次开发会方便很多。在hibernate里是可以建立2个表的外键约束,但只是代码上的约束,而不是数据库的约束。但表是不需要建立这个外键约束。如果你用hibernate去自动生成表,那么那个数据库的外键约束是会自动生成的。但为了项目以后的维护,数据库的表不应该建立关系,他们应该是独立的存在。
      

  11.   

    可以把hibernate的建表语句在eclipse后台或是用日志记录下来,慢慢看。