加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

java – Flyway和JPA集成

发布时间:2020-12-15 01:48:22 所属栏目:大数据 来源:网络整理
导读:我目前的Spring 3.0项目正在与Flyway集成. 感谢谷歌网站,所以有我可以指望的文件.但不幸的是,没有太多关于与JPA整合的讨论. 所以问题是: 如何将Flyway与persistence.xml集成?它是如何工作的?每次JPA提供程序将自动生成架构更新,以便我们如何在之前或之后

我目前的Spring 3.0项目正在与Flyway集成.

感谢谷歌网站,所以有我可以指望的文件.但不幸的是,没有太多关于与JPA整合的讨论.

所以问题是:

>如何将Flyway与persistence.xml集成?它是如何工作的?每次JPA提供程序将自动生成架构更新,以便我们如何在之前或之后运行脚本?
>我想到目前为止flyway的查询不支持HQL,那么是否有任何示例代码,然后我可以了解如何集成迁移事件?设计拦截器或新方面?在域级别上做什么?

任何提示都表示赞赏.提前致谢.

Flyway不支持JPA和Spring.它基本上按顺序运行您的SQL(而不是HQL)脚本并跟踪它们.并且做得好.它仍然与您如何使用数据库以及如何生成升级脚本无关.

但是,有希望.您的持久性提供程序很可能支持更新现有模式(我知道hibernate和eclipselink可以),在启动时运行ALTER和CREATE语句.迁移SQL脚本并不完美,它并不总是有效,但它是一个良好的开端.记录这些脚本,收集到SQL文件中,清理并用作提供给Flyway的V _ * .sql文件.

更新:虽然没有直接支持spring框架,但您可以轻松integrate it with existing Spring application.这种方法被证明适用于生产并且可以很好地运行:

额外奖励:它在Java配置(使用Scala)方面也很有用:

@Bean(initMethod = "migrate")
def flyway() = {
    val fly = new Flyway()
    fly.setDataSource(dataSource)
    fly
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读