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个条件的属性,那么就增加一个没有意义的列,作为主键

        

  • 相关阅读:
    [转]如何成为强大的程序员?
    Three.JS 学习准备(0)
    jsp生命周期
    form表单文件上传 servlet文件接收
    android 在自定义的listview(有刷新加载项)列表中,数据过少时不能铺满整个屏幕时,header和footer同时显示问题
    jsp处理
    保持listview当前位置
    HTML5应用:setCustomValidity(message)接口
    Hibernate 查询方法
    这个故事很好,希望激励自己前进······
  • 原文地址:https://www.cnblogs.com/meiLinYa/p/9102104.html
Copyright © 2011-2022 走看看