zoukankan      html  css  js  c++  java
  • 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个条件的属性,那么就增加一个没有意义的列,作为主键

        

  • 相关阅读:
    点击listview 的列头对其item进行自动排序
    将选择的图片显示在listview中,并显示filename,path和type
    【翻译】8 个可以节省时间的 C# 开发相关工具
    【原创】关于乘法运算的新思路
    【翻译】为什么我们要用抽象类?
    【翻译】如何使用 C# 的 BackgroundWorker
    【汉化】DevExpress插件中RichEdit控件的自定义汉化方法
    关于C#日期格式化问题
    C#获取(大陆)身份证基本信息的算法
    C#关于精确年龄的算法(精确到天)
  • 原文地址:https://www.cnblogs.com/meiLinYa/p/9102104.html
Copyright © 2011-2022 走看看