我已经完成了使用Hibernate JPA和JAX-RS的Java EE后端应用程序的开发。是时候部署到生产服务器了。
目前,数据库架构的生成是由Hibernate JPA完成的,它基于实体定义,使用hbm2ddl.auto="create"
的设置
我读了很多帖子说在persistence.xml中设置hbm2ddl.auto设置是个坏主意,而是使用SQL代替。但是,我的应用程序有大约50个实体,其中一些实体相互继承。
为每个表,关系,序列表写一个CREATE语句,唯一的方法是去吗?
答案 0 :(得分:0)
如果您有合格且经过充分测试的后端,则可以转储数据库并将此转储(仅限布局)导入生产服务器。
未来数据库的发展应该使用SQL脚本作为交付过程的一部分。
答案 1 :(得分:0)
我不认为像hbm2ddl.auto =“create”这样的设置在生产中会很有用,只要想想一旦你停止并重新启动服务器,就会有一个可能会重置整个表结构的可能性消灭了整个数据。我已经看过一些生产服务器,从未在生产过程中看到实现过的hbm2ddl.auto内容,我们可以在测试环境和我们的系统中进行实际的东西不可取。我写的是目前为止所知道的。