建表策略

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

 

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

 

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

 

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

 

1.2. create-drop

 

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

 

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

 

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

建表策略_第1张图片

 

 

 

 

 

 

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

表不存在,会抛出异常

 

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

 

反之,抛出异常

 

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

 

你可能感兴趣的:(建表策略)