首页 > 解决方案 > 我可以用 firebird 数据库安装 jhipster 吗?

问题描述

我有一个带有 firebird 的数据库,我需要能够将它与 jhipster 集成

我搜索了互联网,找不到信息

标签: javajhipsterfirebird

解决方案


我做了一个小实验,虽然添加 Jaybird(Firebird JDBC 驱动程序)并切换到现有数据库的 Firebird JDBC URL 并使用 Firebird Hibernate 方言允许 JHipster 进行连接,但您需要更正生成的数据库模型以使其实际工作。Liquibase 不支持 Firebird 的许多 Liquibase 功能并且不会自动引用关键字,Hibernate 方言尝试使用序列表而不是创建的序列,可能还有其他我还没有遇到的事情。

长话短说,它可能会起作用,但绝对不是开箱即用的。

我具体做了以下事情:

  • 添加了 Jaybird 依赖项。用 gradle 添加implementation "org.firebirdsql.jdbc:jaybird-jdk18"dependencies部分build.gradle
  • 修改application-dev.yml为使用 Firebird(省略未更改的属性):

    spring:
      datasource:
        url: jdbc:firebirdsql://localhost/jhipsterexperiment?charSet=utf-8
        username: jhipsterexperiment
        password: jhipsterexperiment
      jpa:
        database-platform: org.hibernate.dialect.FirebirdDialect
        database: DEFAULT
    
  • 然后我运行了应用程序并修复了 Liquibase 错误
    • 从元素中删除startValueincrementBy属性createSequence
    • 注释掉(删除)的addNotNullConstraint元素
    • value<column name="value" type="varchar(255)"/>to显式引用列名<column name="&quot;VALUE&quot;" type="varchar(255)"/>

之后,我的 jhipster 应用程序启动了,但尝试登录失败,因为 Hibernate 尝试使用名为的表SEQUENCE_GENERATOR而不是具有该名称的序列。那时我停止了进一步的调查。


推荐阅读