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和数据库方言的配置的更多相关文章

  1. Hibernate中的数据库方言(Dialect)

    在配置hibernate.cfg.xml时需指定使用数据库的方言: 例: <property name="dialect">org.hibernate.dialect. ...

  2. 详解在Hibernate中配置数据库方言的作用和好处以及各种数据库的方言连接

    Hibernate底层依然使用SQL语句来执行数据库操作,虽然所有关系型数据库都支持使用标准SQL语句,但所有数据库都对标准SQL进行了一些扩展,所以在语法细节上存在一些差异,因此Hibernate需 ...

  3. Hibernate 数据库方言配置;no dialect mapping for jdbc type:-9;生僻字

    最近因为生僻字在界面上显示为?: 主要原因是该字段在数据库中就是varchar类型,显示的就是?:如䶮(yan):现把varchar类型改为nvarchar类型:数据中能够正常显示: 但是Spring ...

  4. Hibernate不同数据库 方言|驱动|url 配置

    Hibernate不同数据库方言|驱动|url mySql: hibernate.dialect : org.hibernate.dialect.MySQLDialect driverClassNam ...

  5. hibernate中数据库方言

    在配置hibernate.cfg.xml时需指定使用数据库的方言: 例: <property name="dialect">org.hibernate.dialect. ...

  6. hibernate.hbm2ddl.auto配置详解

    hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如下:<properties><property name="hibernate. ...

  7. Mingyang.net:hibernate.hbm2ddl.auto配置详解【转】

    原文地址:http://www.cnblogs.com/feilong3540717/archive/2011/12/19/2293038.html hibernate.cfg.xml 中hibern ...

  8. hibernate数据库方言

    hibernate数据库方言 mark一下 RDBMS 方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect ...

  9. jDialects:一个从Hibernate抽取的支持70多种数据库方言的原生SQL分页工具

    jDialects(https://git.oschina.net/drinkjava2/jdialects) 是一个收集了大多数已知数据库方言的Java小项目,通常可用来创建分页SQL和建表DDL语 ...

随机推荐

  1. ES6学习--Object.assign()

    ES6提供了Object.assign(),用于合并/复制对象的属性. Object.assign(target, source_1, ..., source_n) 1. 初始化对象属性 构造器正是为 ...

  2. mysql 触发器 trigger用法 two (稍微复杂的)

    触发器(trigger):监视某种情况,并触发某种操作. 触发器创建语法四要素:1.监视地点(table) 2.监视事件(insert/update/delete) 3.触发时间(after/befo ...

  3. 什么叫集群、分布式,分布式与集群有什么区别?(康神sf讲座学习笔记)

    集群是物理形态,分布式是工作方式. 只要一堆机器放在那里,就是集群.比如Nginx后面的十台服务器,就是一个集群 分布式将任务放在多个物理隔离的节点上进行. 分布式中各个子节点互不通信,统一受管控中心 ...

  4. CSS3实现小黄人动画

    转载请注明出处,谢谢! 每次看到CSS3动画就心痒痒想试一下,记得一个多月前看了白树哥哥的一篇博客,突然开窍,于是拿他提供的demo试了一下,感觉很棒!下图为demo提供的动画帧设计稿. 自己也想说搞 ...

  5. C++ 单例模式(转载)

    转载:http://www.cnblogs.com/cxjchen/p/3148582.html 转载:http://blog.csdn.net/hackbuteer1/article/details ...

  6. fatal One or more refs for names blocks change upload

    前言 今天在提代码时,发现push不到gerrit仓库了,十分的奇怪,和同事沟通后发现,同事可以直接git push origin master而且也可以合并,都是没有问题的,但是就是在gerrit上 ...

  7. 启动jenkins服务错误

    背景 重新安装了jenkins,需要启动,使用的yum install安装的,启动jenkins的话只需要执行service jenkins start,但出了两个问题 1. 是提示找不到java 2 ...

  8. JavaScript:Function/Object/prototype/__proto__

    console.log(Object.__proto__===Function.prototype); //true console.log(Object.prototype.__proto__); ...

  9. Asp.net简单概念知识

    1. 简述 private. protected. public. internal 修饰符的访问权限.答 . private :   私有成员, 在类的内部才可以访问.      protected ...

  10. Unity3D学习笔记(五):坐标系、向量、3D数学

    Unity复习 using System.Collections; using System.Collections.Generic; using UnityEngine; public class ...