详解hibernate自动创建表的配置
配置自动创建表:
<prop key="hibernate.hbm2ddl.auto">update</prop>//首次创建项目时用,项目稳定后一般注释这里有4个值:
update:表示自动根据model对象来更新表结构,启动hibernate时会自动检查数据库,如果缺少表,则自动建表;如果表里缺少列,则自动添加列。
还有其他的参数:
create:启动hibernate时,自动删除原来的表,新建所有的表,所以每次启动后的以前数据都会丢失。
create-drop:启动hibernate时,自动创建表,程序关闭时,自动把相应的表都删除。所以程序结束时,表和数据也不会再存在。
validate :
每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值。
然后在配置 读取实体类映射:
有3种方法:
1、(常用)通过注解扫描包的方式:
1
2
|
<
property
name
=
"packagesToScan"
>
<
list
><
value
>com.systop.common.core.dao.testmodel</
value
></
list
>
|
2、通过注解的方式:
1
2
3
|
<
property
name
=
"annotatedClasses"
>
<
list
><
value
>com.systop.common.core.dao.testmodel.TestDept</
value
></
list
>
</
property
>
|
3、mappingResources用于指定少量的hibernate配置文件像这样
Xml代码