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

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

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

   update:

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

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

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

   create:

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

   create-drop:

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

   validate:

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

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

 数据库方言的配置:

      org.hibernate.dialect.MySQLDialect :

     org.hibernate.dialect.MySQLInnoDBDialect

     org.hibernate.dialect.MySQLMyISMDialect

    一般选择最短的

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

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

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

    hibernate配置文件:

   id:

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

   字段

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

  type:

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

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

      数据库              || hibernate      || java类型

    主键生成策略:

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

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

    自然主键和代理主键:

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

      自然主键:

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

      代理主键:

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

    

上一篇:Java开发环境安装配置


下一篇:NYOJ-228 士兵杀敌5