Hibernate---hbm2ddl

Posted Loneliness Ends HUHU

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hibernate---hbm2ddl相关的知识,希望对你有一定的参考价值。

          Hibernate---hbm2ddl和数据库方言的配置

  hibernate配置文件--hbm2ddl.auto属性值的区别:

   update:

    最常用的取值,如果但其数据库中不存在表结构,那么自动创建表结构。

    如果存在表结构,并且表结构与实体一致,那么不做修改

    如果存在表结构,并且表结构与实体不一致,那么会修改表结构,保留原有列

   create:

    使用少,无论是否存在表结构,每次启动hibernate都会创建表结构。

   create-drop:

    使用少,无论是否存在表结构,每次启动hibernate都会在创建表结构,每次hibernate运行结束时删除表

   validate:

    不会自动创建表结构,也不会自动维护表结构,hibernate只校验表结构,如果表表结构不一致就会抛出异常

    

  数据库方言的配置:

      org.hibernate.dialect.mysqlDialect :

     org.hibernate.dialect.MySQLInnoDBDialect

     org.hibernate.dialect.MySQLMyISMDialect

    一般选择最短的

      

      Oracle与MySQL方言低层代码实现对比

      

    hibernate配置文件:

   id:

    

   字段

      

  type:

      

        type="varchar" || type="string" || type="java.long.String"

      数据库              || hibernate      || java类型

    主键生成策略:

      

      

    自然主键和代理主键:

    首先需要具备:不为空/不能重复/不能改变

      自然主键:

        在业务中,某个属性符合主键的三个要求,那么该属性可以作为主键列

      代理主键:

        在业务中,不符合以上3个条件的属性,那么就增加一个没有意义的列,作为主键

 

 

    

 

以上是关于Hibernate---hbm2ddl的主要内容,如果未能解决你的问题,请参考以下文章