弹簧&x2B;使用示例数据初始化Hibernate mysql数据库
我想部署一个Spring mvc+Hibernate项目,我想:弹簧&x2B;使用示例数据初始化Hibernate mysql数据库,hibernate,spring-mvc,Hibernate,Spring Mvc,我想部署一个Spring mvc+Hibernate项目,我想: 为第一次启动自动创建所有数据库架构 如果添加了属性,则更新架构 在一些表中添加一些记录,用户的根用户,等等 如果hibernate.hbm2ddl.auto设置为“创建”,每次重新启动项目时,我都会丢失以前的数据。 如果设置为“update”,将不会执行我的import.sql,我将sql放在其中以创建示例记录 那么,“产品”环境中最好的做法是什么呢?使用insert into sql命令创建一个示例_data.sql文件 ins
hibernate.hbm2ddl.auto
设置为“创建”
,每次重新启动项目时,我都会丢失以前的数据。
如果设置为“update”
,将不会执行我的import.sql
,我将sql放在其中以创建示例记录
那么,“产品”环境中最好的做法是什么呢?使用insert into sql命令创建一个示例_data.sql文件
insert into table(col1,col2) values (val1,val2);
insert into table(col1,col2) values (val1,val2);
然后将属性添加到database.properties文件中,如下所示(我假设示例_data.sql和database.properties文件位于同一目录中)
最后一步是,;将以下属性添加到sessionFactory配置中
<prop key="hibernate.hbm2ddl.import_files">${database.hbm2ddl.import_files}</prop>
${database.hbm2ddl.import_files}
使用insert into sql命令创建一个示例_data.sql文件
insert into table(col1,col2) values (val1,val2);
insert into table(col1,col2) values (val1,val2);
然后将属性添加到database.properties文件中,如下所示(我假设示例_data.sql和database.properties文件位于同一目录中)
最后一步是,;将以下属性添加到sessionFactory配置中
<prop key="hibernate.hbm2ddl.import_files">${database.hbm2ddl.import_files}</prop>
${database.hbm2ddl.import_files}
hibernate.hbm2ddl.auto无法在需要保留旧数据的情况下自动处理更复杂的数据库更新方案
对于生产,我推荐
我对Liquibase有很好的经验(在多个项目中使用了几年)
有一些学习曲线和一些重复(您必须自己创建DB结构,这些工具不能从实体创建DB结构)
有关如何装载其中一个工具的详细信息,请参阅
即使没有Spring引导,它也非常简单(只需向类路径添加新库,创建第一个脚本和一个Springbean)
编辑:如果您对使用上述概念的示例项目感兴趣,
看
它描述了更复杂的场景—如何在应用程序不停机的情况下更新数据库。
hibernate.hbm2ddl.auto
无法在需要保留旧数据的情况下自动处理更复杂的数据库更新场景
对于生产,我推荐
我对Liquibase有很好的经验(在多个项目中使用了几年)
有一些学习曲线和一些重复(您必须自己创建DB结构,这些工具不能从实体创建DB结构)
有关如何装载其中一个工具的详细信息,请参阅
即使没有Spring引导,它也非常简单(只需向类路径添加新库,创建第一个脚本和一个Springbean)
编辑:如果您对使用上述概念的示例项目感兴趣,
看
它描述了更复杂的场景——如何在应用程序不停机的情况下更新数据库