在现有项目中实施Flyway

时间:2019-12-16 16:30:43

标签: java hibernate jpa flyway

我继承了一个使用Spring Boot,Hibernate和PostgreSQL的项目。我即将结束2.0版,并对数据库进行了重大更改。我有一个脚本,可以在生产数据库(快照)上工作,重命名架构和一个表。然后,当我下次运行Java代码时,Hibernate更新现有表(新列)并添加几个新表。另外两个SQL脚本填充了新列,并填充了创建的新表,这些表用于保存以前存储在硬编码的Java常量中的数据。

到目前为止,它们都可以很好地连接在一起,但是我想实现Flyway来自动执行数据库更新。但是,到目前为止,我发现的所有博客等都谈到在临时项目中实现Flyway,而不是将其添加到现有项目中。

到目前为止,我已经实现了Flayway的“正常运行”-我的项目将启动并运行,而不会产生错误。这是来自applcationContext.xml的Flyway配置:

  <!-- Flyway db migration -->
  <bean id="flywayConfiguration" class="org.flywaydb.core.api.configuration.ClassicConfiguration" depends-on="dataSource">
    <property name="dataSource" ref="dataSource"/>
    <property name="schemas">
      <array>
        <value>"radar2"</value>
      </array>
    </property>
    <property name="baselineOnMigrate" value="true"/>
 </bean>

 <bean id="flyway" class="org.flywaydb.core.Flyway" init-method="migrate">
   <constructor-arg ref="flywayConfiguration"/>
 </bean>

并且我已经在默认位置(resources\db\migration

中建立了一个迁移脚本。

请注意,我已经关闭了Hibernate的Validate and Update选项,因此它不再自动更新数据库。

所以我的问题:

我的迁移脚本未运行。 我错过了什么?

我知道迁移没有运行,因为当我查看flyway_schema_history表时,它只有基线条目,而我的V2_0脚本中的表尚未创建。

V2_0_create_tables.sql

CREATE TABLE radar2."comment" (
  id serial NOT NULL,
  description varchar(255) NOT NULL,
  photo_name varchar(255) NOT NULL,
  short_desc varchar(255) NOT NULL,
  machine_id serial NOT NULL,
  CONSTRAINT comment_pkey PRIMARY KEY (id)
);

ALTER TABLE radar2."comment" ADD CONSTRAINT fk4vjadovig0ru9qinlq9ov9jd8 FOREIGN KEY (machine_id) REFERENCES radar2.machine(id);

CREATE TABLE radar2.customer (
  id serial NOT NULL,
  uri varchar(255) NOT NULL,
  country_code varchar(255) NOT NULL,
  customer_name varchar(255) NOT NULL,
  email_group varchar(255) NOT NULL,
  CONSTRAINT customer_pkey PRIMARY KEY (id)
);

更新

我尝试了@Jens的建议(在我评论它无济于事后删除),并取消了注释<prop key="hibernate.hbm2ddl.auto">validate</prop>,以便不再对其进行处理并更改了输出:

C:\Oracle\Middleware\Oracle_Home\oracle_common\jdk\bin\javaw.exe -server -agentlib:jdwp=transport=dt_socket,server=y,address=12288 -Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true -classpath C:\Users\tullych\dev\java\bh\radar-backend-add-flex\.adf;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\bin;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\activation-1.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\antlr-2.7.7.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\byte-buddy-1.6.14.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\classmate-1.3.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-beanutils-1.9.3.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-codec-1.9.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-collections-3.2.2.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-dbcp2-2.0.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-fileupload-1.3.2.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-io-2.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-lang3-3.6.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-logging-1.1.3.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-pool2-2.2.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-text-1.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\dom4j-1.6.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\gson-2.8.2.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\hibernate-commons-annotations-5.0.1.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\hibernate-core-5.2.16.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\hibernate-entitymanager-5.2.16.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\hibernate-jpa-2.1-api-1.0.0.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\httpclient-4.5.2.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\httpcore-4.4.4.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\httpmime-4.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jackson-annotations-2.9.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jackson-core-2.9.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jackson-databind-2.9.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jackson-datatype-jdk8-2.9.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jackson-datatype-jsr310-2.9.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jandex-2.0.3.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\javassist-3.22.0-GA.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\javax.mail-1.5.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\javax.servlet-api-3.1.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jbcrypt-0.4.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jboss-logging-3.3.1.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jboss-transaction-api_1.2_spec-1.0.1.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jjwt-0.9.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\log4j-api-2.11.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\log4j-core-2.11.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\opencsv-4.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\postgresql-9.4.1211.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\slf4j-api-1.7.25.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\smartsheet-sdk-java-2.2.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-aop-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-beans-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-context-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-context-support-5.0.8.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-core-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-expression-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-jcl-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-jdbc-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-orm-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-security-config-5.0.3.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-security-core-5.0.3.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-security-web-5.0.3.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-tx-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-web-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-webmvc-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\tomcat-jdbc-9.0.6.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\tomcat-juli-9.0.6.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\xmlbeans-3.1.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-collections4-4.4.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-compress-1.19.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\poi-4.1.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\poi-ooxml-4.1.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\poi-ooxml-schemas-4.1.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-lang3-3.9.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\flyway-core-6.0.4.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\flyway-core-6.1.0.jar -Djavax.net.ssl.trustStore=C:\Users\tullych\AppData\Local\Temp\trustStore5440372196483254699.jks com.bh.radar.util.UtilAddUser
Listening for transport dt_socket at address: 12288
Debugger connected to local process.
Dec 16, 2019 12:57:47 PM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4dfa3a9d: startup date [Mon Dec 16 12:57:47 EST 2019]; root of context hierarchy
Dec 16, 2019 12:57:47 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [resources/applicationContext.xml]
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Dec 16, 2019 12:57:49 PM org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean createNativeEntityManagerFactory
INFO: Building JPA container EntityManagerFactory for persistence unit 'default'
Dec 16, 2019 12:57:51 PM org.springframework.context.support.ClassPathXmlApplicationContext refresh
WARNING: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myEmf' defined in class path resource [resources/applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
Exception breakpoint: AbstractApplicationContext.java:576, org.springframework.beans.factory.BeanCreationException, Error creating bean with name 'myEmf' defined in class path resource [resources/applicationContext.xml]: Invocation of init method failed

javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory上搜索通常会出现数据库错误。但是,如果我注释掉applicationContext.xml中的Flyway代码并取消注释<prop key="hibernate.hbm2ddl.auto">update</prop> l,ine,那么Hibernate将更新我的模式。

所以,我还是很困惑...

新的更新

出于无奈,我从项目中删除了Flyway的所有痕迹,并再次进行了测试,并验证了它仍然可以工作。好极了! :)

现在,回到Spring docs。根据他们的说法,我应该能够:

  

要在启动时自动运行Flyway数据库迁移,请将org.flywaydb:flyway-core添加到您的类路径中。

因此,我将Maven依赖项重新添加到了pom.xml文件中,并在Oracle J Developer中打开了“项目属性”对话框。然后,在“库和类路径”选项卡上,单击“添加Jar /目录”,并导航到Maven为我下载的flyway-core-6.1.2.jar文件。

在执行Maven Clean-Package清除旧的二进制文件并重建所有内容之后,我没有编译或生成错误。但是,当我在调试器中运行项目时,得到以下信息:

C:\Oracle\Middleware\Oracle_Home\oracle_common\jdk\bin\javaw.exe -server -agentlib:jdwp=transport=dt_socket,server=y,address=14687 -Dcom.sun.xml.bind.v2.bytecode.ClassTailor.noOptimize=true -classpath C:\Users\tullych\dev\java\bh\radar-backend-add-flex\.adf;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\bin;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\activation-1.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\antlr-2.7.7.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\byte-buddy-1.6.14.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\classmate-1.3.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-beanutils-1.9.3.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-codec-1.9.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-collections-3.2.2.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-dbcp2-2.0.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-fileupload-1.3.2.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-io-2.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-logging-1.1.3.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-pool2-2.2.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-text-1.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\dom4j-1.6.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\gson-2.8.2.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\hibernate-commons-annotations-5.0.1.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\hibernate-core-5.2.16.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\hibernate-entitymanager-5.2.16.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\hibernate-jpa-2.1-api-1.0.0.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\httpclient-4.5.2.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\httpcore-4.4.4.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\httpmime-4.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jackson-annotations-2.9.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jackson-core-2.9.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jackson-databind-2.9.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jackson-datatype-jdk8-2.9.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jackson-datatype-jsr310-2.9.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jandex-2.0.3.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\javassist-3.22.0-GA.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\javax.mail-1.5.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\javax.servlet-api-3.1.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jbcrypt-0.4.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jboss-logging-3.3.1.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jboss-transaction-api_1.2_spec-1.0.1.Final.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\jjwt-0.9.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\log4j-api-2.11.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\log4j-core-2.11.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\opencsv-4.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\postgresql-9.4.1211.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\slf4j-api-1.7.25.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\smartsheet-sdk-java-2.2.5.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-aop-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-beans-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-context-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-context-support-5.0.8.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-core-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-expression-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-jcl-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-jdbc-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-orm-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-security-config-5.0.3.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-security-core-5.0.3.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-security-web-5.0.3.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-tx-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-web-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\spring-webmvc-5.0.4.RELEASE.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\tomcat-jdbc-9.0.6.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\tomcat-juli-9.0.6.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\xmlbeans-3.1.0.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-collections4-4.4.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-compress-1.19.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\poi-4.1.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\poi-ooxml-4.1.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\poi-ooxml-schemas-4.1.1.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\commons-lang3-3.9.jar;C:\Users\tullych\dev\java\bh\radar-backend-add-flex\webapp\WEB-INF\lib\flyway-core-6.1.2.jar -Djavax.net.ssl.trustStore=C:\Users\tullych\AppData\Local\Temp\trustStore5440372196483254699.jks com.bh.radar.util.UtilAddUser
Listening for transport dt_socket at address: 14687
Debugger connected to local process.
Dec 17, 2019 4:38:03 PM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@4dfa3a9d: startup date [Tue Dec 17 16:38:03 EST 2019]; root of context hierarchy
Dec 17, 2019 4:38:03 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [resources/applicationContext.xml]
Dec 17, 2019 4:38:04 PM org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean createNativeEntityManagerFactory
INFO: Building JPA container EntityManagerFactory for persistence unit 'default'
Dec 17, 2019 4:38:06 PM org.springframework.context.support.ClassPathXmlApplicationContext refresh
WARNING: Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'myEmf' defined in class path resource [resources/applicationContext.xml]: Invocation of init method failed; nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory
Exception breakpoint: AbstractApplicationContext.java:576, org.springframework.beans.factory.BeanCreationException, Error creating bean with name 'myEmf' defined in class path resource [resources/applicationContext.xml]: Invocation of init method failed

这是版本兼容性问题吗?我在Spring Docs中看不到有关特定版本的Flyway的任何信息。

这时我在applicationContext.xml文件中没有提到flyway,只是将依赖项添加到pom.xml中。

当我使用Google nested exception is javax.persistence.PersistenceException: [PersistenceUnit: default] Unable to build Hibernate SessionFactory时,大多数点击都集中在无法连接到数据库上,但是我已经证实我上面有一个有效的数据库连接,并且只在我的项目中添加了最少的飞行通道,得到这个错误。我缺少一些配置步骤吗?

0 个答案:

没有答案