建表策略
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包含咱们昨天学习的几个对象,今天我们将对他们进行相应的分析:
以上是关于建表策略的主要内容,如果未能解决你的问题,请参考以下文章