建表策略

Posted xiaoruirui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了建表策略相关的知识,希望对你有一定的参考价值。

配置自动生成表(建表策略)

 

1.1. 配置属性名称:hibernate.hbm2ddl.auto

 

如果需要生成表,只需要表名,列名以及对应列名的类型,这些全部在持久类里面都有定义

 

创建表的时间:成功获取到EntityManagerFactory对象

 

1.2. create-drop

 

这个开发一般不会用,面试会被问到

 

先删除表,再创建表,再删除表

 

删除表的时间:必须把EntityManagerFactory关闭

技术图片

 

 

 

 

 

 

 

1.3. create 只有在测试的时候使用

 

先删除表,再创建表,不会再删除表

 

如果更改了domain类的映射,会马上生效

 

1.4. update 用在测试和web项目(开发的时候使用)

 

如果没表就根据最新的映射信息来创建表

 

如果表里面已经有这个属性,如修改属性的长度,不会更新到表里面

 

需要更新这个列先删除表或者删除这个属性对应的列名

 

如果表里面没有属性,映射信息存在,会增加这个列

 

1.5. validate 用在系统已经上线或者客户给定了数据库

 

表不存在,会抛出异常

 

Domain类映射信息少属性,表比映射定义的列要多,不会报错

 

反之,抛出异常

 

核心 API包含咱们昨天学习的几个对象,今天我们将对他们进行相应的分析:

 

以上是关于建表策略的主要内容,如果未能解决你的问题,请参考以下文章

Mysql优化策略

Greenplum表定义

本地策略域策略

Spring Boot Mybatis实现分表

”销售策略“怎么用英语说

alpha策略和beta策略的区别