Java 使用微服务。休眠或脚本

Java 使用微服务。休眠或脚本,java,database,hibernate,microservices,Java,Database,Hibernate,Microservices,当使用微服务时,数据库创建和关系管理的最佳方法是什么?Hibernate或脚本,因为我觉得创建数据库不应该是微服务的责任,正如@Vadim在评论中已经指出的,最终决定使用什么是设计工程师或开发人员的工作 根据我的经验,从长远来看,使用模式生成脚本总是很好的,而且有很多开源库可用。 例如,在java中,我们有和 我这么说的原因是,从长远来看,您的数据库将经历很多变化。Hibernate可以轻松地处理创建和修改表和列的更改,但有时,例如,当您添加一个新列时,您可能希望填充可能需要编写自定义SQL的现

当使用微服务时,数据库创建和关系管理的最佳方法是什么?Hibernate或脚本,因为我觉得创建数据库不应该是微服务的责任,

正如@Vadim在评论中已经指出的,最终决定使用什么是设计工程师或开发人员的工作

根据我的经验,从长远来看,使用模式生成脚本总是很好的,而且有很多开源库可用。 例如,在java中,我们有和

我这么说的原因是,从长远来看,您的数据库将经历很多变化。Hibernate可以轻松地处理创建和修改表和列的更改,但有时,例如,当您添加一个新列时,您可能希望填充可能需要编写自定义SQL的现有记录

类似地,有时您可能希望从后端更新记录,这在使用hibernate时很难实现

我观察到,DB创建通常是预部署脚本的一部分,模式生成发生在应用程序启动期间


我的建议是使用一些模式生成工具进行模式迁移,并使用hibernate进行模式验证,以便两者保持同步。

无论使用脚本还是hibernate,数据库创建通常都是一次性任务。它与微服务或任何其他应用程序实现模式无关。但是,如何继续它仍然是实现设计师的决定。不同意@Vadim,iIt不是一次性任务,模式随着应用程序的运行而不断变化。@你知道我的意思。。。不是字面上的“一次性”,但绝对不是服务/微服务的运行时任务。谢谢!只是想知道最佳实践。