如何避免使用休眠模式更新

问题描述

| 我在日常编程任务中使用了Hibernate,发现它非常好。特别是,我喜欢它在开发时管理架构更新的方式,使我免于很多麻烦。 无论如何,他们在文档上写道,不建议在生产环境中推荐它。因此,当我在生产服务器上更新应用程序时,行业标准的方式是什么?我想到创建一个自动安装过程,该过程转储数据库内容(基本上是备份),然后从代码调用休眠模式更新,然后对查询运行一些测试,依此类推。无论如何,周围有没有可以自动执行并经过良好测试的工具? 说出来! :) 谢谢。     

解决方法

看看应对MySQL模式不断变化的需求的策略吗?对于类似的问题及其答案。 简而言之,一旦您拥有足够数量的数据并需要将其从一个模式迁移到另一模式,就需要编写SQL脚本来更改模式并移动/转换数据。     ,看看Liquibase。本质上,它是数据库架构的版本控制系统。它也很好地与Hibernate集成。     ,我个人认为此建议过于谨慎。我们在生产和开发中使用Hibernate自动更新功能已有很多年了,并且从未遇到过问题(是的,我们为许多大型系统和知名品牌提供服务)。 显然,您必须测试您的应用程序,以确保从一个版本升级到另一个版本时,Hibernate能够正确完成工作,但是其他所有软件方面也是如此。 您还必须知道自动更新可以做什么(例如,创建新表,添加新索引)和不能做什么(例如,删除表,删除约束)。再次说明,这些缺失的位可以很容易地用原始JDBC进行,而不是未经测试。