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和数据库方言的配置的更多相关文章
- Hibernate中的数据库方言(Dialect)
在配置hibernate.cfg.xml时需指定使用数据库的方言: 例: <property name="dialect">org.hibernate.dialect. ...
- 详解在Hibernate中配置数据库方言的作用和好处以及各种数据库的方言连接
Hibernate底层依然使用SQL语句来执行数据库操作,虽然所有关系型数据库都支持使用标准SQL语句,但所有数据库都对标准SQL进行了一些扩展,所以在语法细节上存在一些差异,因此Hibernate需 ...
- Hibernate 数据库方言配置;no dialect mapping for jdbc type:-9;生僻字
最近因为生僻字在界面上显示为?: 主要原因是该字段在数据库中就是varchar类型,显示的就是?:如䶮(yan):现把varchar类型改为nvarchar类型:数据中能够正常显示: 但是Spring ...
- Hibernate不同数据库 方言|驱动|url 配置
Hibernate不同数据库方言|驱动|url mySql: hibernate.dialect : org.hibernate.dialect.MySQLDialect driverClassNam ...
- hibernate中数据库方言
在配置hibernate.cfg.xml时需指定使用数据库的方言: 例: <property name="dialect">org.hibernate.dialect. ...
- hibernate.hbm2ddl.auto配置详解
hibernate.cfg.xml 中hibernate.hbm2ddl.auto配置节点如下:<properties><property name="hibernate. ...
- Mingyang.net:hibernate.hbm2ddl.auto配置详解【转】
原文地址:http://www.cnblogs.com/feilong3540717/archive/2011/12/19/2293038.html hibernate.cfg.xml 中hibern ...
- hibernate数据库方言
hibernate数据库方言 mark一下 RDBMS 方言 DB2 org.hibernate.dialect.DB2Dialect DB2 AS/400 org.hibernate.dialect ...
- jDialects:一个从Hibernate抽取的支持70多种数据库方言的原生SQL分页工具
jDialects(https://git.oschina.net/drinkjava2/jdialects) 是一个收集了大多数已知数据库方言的Java小项目,通常可用来创建分页SQL和建表DDL语 ...
随机推荐
- Django框架介绍之cookie与session
cookie http请求时无状态的,一个客户端第一次,第二次,第n次访问同一个服务器都是一样的,服务器都会按照一个新的连接处理.但是,有时候客户端需要服务器记住客户端的登录状态,譬如离开一会,回来之 ...
- Python入门之面向对象的多态
本章目录: 一.多态 二.多态性 三.鸭子类型 ============================== 一.多态 多态指的是一类事物有多种形态. 动物有多种形态:人,狗,猪. import ab ...
- noip 瑞士轮 - 归并
背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性较低,但比赛过程往往十分冗长 ...
- IDEA中使用.ignore插件忽略不必要提交的文件
使用的IDE是IntelliJ IDEA,发现IDEA在提交项目到本地仓库的时候,会把.idea文件夹中的内容也提交上去,这里面放的是一些项目的配置信息,包括历史记录,版本控制信息等.可以不传到Git ...
- 项目中的一个分页功能pagination
项目中的一个分页功能pagination <script> //总页数 ; ; //分页总数量 $(function () { // $("#pagination"). ...
- Linux批量更改文件后缀-转载
一.rename解决 1. Ubuntu系统下 rename 's//.c//.h/' ./* 把当前目录下的后缀名为.c的文件更改为.h的文件 2. CentOS5.5系统下 rename . ...
- vue v-model 表单控件绑定
v-model 指令在表单控件元素上创建双向数据绑定,下面一一进行示例解释. 1.v-model 双向绑定文本 <!DOCTYPE html> <html> <head ...
- shell printf
printf 可以格式化字符串,还可以制定字符串的宽度.左右对齐方式等.默认 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n. 例子: $ echo "Hello, ...
- Springboot 如何加密,以及利用Swagger2构建Restful API
先看一下使用Swagger2构建Restful API效果图 超级简单的,只需要在pom 中引用如下jar包 <dependency> <groupId>io.springfo ...
- Python day9函数部分
函数的学习:函数对于一门编程语言来说挺重要的,尤其是c语言,是完全使用函数来编写的 1.函数的定义:逻辑结构化和过程化的一种编程方法 def squre(x): "求一个数的平方 retur ...