java - 控制hibernate sql脚本运行

标签 java sql-server spring hibernate sql-scripts

我正在使用 Spring 4.1.6,并且我的服务可以与 Hibernate 一起正常工作。在项目的根目录中,我有 schema.sql,每次运行服务器时都会运行它。问题是,我第一次运行服务器时,我将一些数据放入数据库中,当我重新启动它时,脚本再次执行,我丢失了重新启动之前加载的所有数据。

所以,我认为我有两个选择来解决这个问题:

  1. 编辑sql脚本来执行所有查询,以防万一它们不存在(这会更费力,因为每次导出数据库时我都必须编辑脚本)
  2. 通过某种方式告诉 hibernate 在某些情况下执行 sql 脚本。如果存在一些执行脚本的配置,以防数据库不存在,那就太好了。

你知道这是否可能吗?提前致谢。

最佳答案

听起来这是一个名为 Liquibase 的工具的完美用例。 。这基本上是数据库的版本控制工具,它允许您定义对架构和/或数据的更改,并确保这些更改仅应用一次。

如果多人更改相同的数据库架构并确保您的数据库对于您已 checkout /发布的代码版本等始终有效,这将非常有用。

关于java - 控制hibernate sql脚本运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31011993/

相关文章:

sql - SSIS部署变量问题

sql - 如何使用最新备份更新我的本地 SQL Server 数据库?

java - WebLogic 12c 和 Spring MVC 错误 403

java - 如何使用 Spark SQL 从外部查询中的子查询访问列

java - 执行 Broadleaf startadmin.bat 脚本时出错

java - 使用 libGDX 绘制填充的多边形

sql - 从 sp_addlinkedserver 访问服务器

spring - Spring Boot启动后,Kafka主题未在远程kafka上自动创建(并在本地kafka服务器上创建)

Java Spring,@RequestBody - 如何接收具有两个连接实体的有效 JSON

java - 从 Java 和 CLI 向 crontab 添加 cron 表达式时出现问题