java - Liquibase 看不到实体的变化

标签 java spring hibernate maven liquibase

我正在尝试使用 liquibase 配置简单的 maven 项目。我有很多关于 liquibase-maven-plugin 和 liquibase-hibernate4 版本的问题,它们不会产生大的堆栈跟踪,但最后我几乎让它工作了。但是当我执行 mvn liquibase:diff 时,它以消息 liquibase: No changes found, nothing to do 结束。

这是我的 pom:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>pl.mlewando.ff</groupId>
    <artifactId>liquibase_test</artifactId>
    <version>1.0</version>

    <dependencies>
        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>1.7.0.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>4.3.6.Final</version>
        </dependency>

        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <version>1.14.8</version>
        </dependency>

        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.32</version>
        </dependency>

    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.liquibase</groupId>
                <artifactId>liquibase-maven-plugin</artifactId>
                <version>3.2.1</version>
                <configuration>
                    <changeLogFile>src/main/resources/db/db.changelog.xml</changeLogFile>
                    <diffChangeLogFile>src/main/resources/db/generated-db.changelog.xml</diffChangeLogFile>
                    <driver>com.mysql.jdbc.Driver</driver>
                    <url>jdbc:mysql://localhost:3306/liquibase_test?characterEncoding=utf8</url>
                    <username>root</username>
                    <password>root</password>
                    <referenceUrl>hibernate:spring:pl.mlewando.ff.model?dialect=org.hibernate.dialect.MySQL5InnoDBDialect</referenceUrl>
                    <verbose>true</verbose>
                    <logging>debug</logging>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>org.liquibase.ext</groupId>
                        <artifactId>liquibase-hibernate4</artifactId>
                        <version>3.4</version>
                    </dependency>

                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>5.1.32</version>
                    </dependency>

                    <dependency>
                        <groupId>org.springframework.data</groupId>
                        <artifactId>spring-data-jpa</artifactId>
                        <version>1.7.0.RELEASE</version>
                    </dependency>
                    <dependency>
                        <groupId>org.hibernate</groupId>
                        <artifactId>hibernate-entitymanager</artifactId>
                        <version>4.3.6.Final</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
</project>

并从 mvn liquibase:diff:

[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building liquibase_test_backend 1.0
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- liquibase-maven-plugin:3.2.1:diff (default-cli) @ liquibase_test_backend ---
[INFO] ------------------------------------------------------------------------
[INFO] Loading artfacts into URLClassLoader
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/data/spring-data-jpa/1.7.0.RELEASE/spring-data-jpa-1.7.0.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/data/spring-data-commons/1.9.0.RELEASE/spring-data-commons-1.9.0.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-orm/4.0.7.RELEASE/spring-orm-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-jdbc/4.0.7.RELEASE/spring-jdbc-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-context/4.1.1.RELEASE/spring-context-4.1.1.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-expression/4.1.1.RELEASE/spring-expression-4.1.1.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-aop/4.0.7.RELEASE/spring-aop-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-tx/4.0.7.RELEASE/spring-tx-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-beans/4.0.7.RELEASE/spring-beans-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-core/4.0.7.RELEASE/spring-core-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/aspectj/aspectjrt/1.8.2/aspectjrt-1.8.2.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.7/jcl-over-slf4j-1.7.7.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/hibernate/hibernate-entitymanager/4.3.6.Final/hibernate-entitymanager-4.3.6.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/jboss/logging/jboss-logging-annotations/1.2.0.Beta1/jboss-logging-annotations-1.2.0.Beta1.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/hibernate/hibernate-core/4.3.6.Final/hibernate-core-4.3.6.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/antlr/antlr/2.7.7/antlr-2.7.7.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/jboss/jandex/1.1.0.Final/jandex-1.1.0.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/hibernate/common/hibernate-commons-annotations/4.0.5.Final/hibernate-commons-annotations-4.0.5.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Final/jboss-transaction-api_1.2_spec-1.0.0.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/projectlombok/lombok/1.14.8/lombok-1.14.8.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/mysql/mysql-connector-java/5.1.32/mysql-connector-java-5.1.32.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/IdeaProjects/forfun/liquibase_test/backend/target/classes/
[INFO]   artifact: file:/C:/Users/mlewandowski/IdeaProjects/forfun/liquibase_test/backend/target/test-classes
[INFO] ------------------------------------------------------------------------
[INFO] Settings
----------------------------
[INFO]     driver: com.mysql.jdbc.Driver
[INFO]     url: jdbc:mysql://localhost:3306/liquibase_test?characterEncoding=utf8
[INFO]     username: root
[INFO]     password: *****
[INFO]     use empty password: false
[INFO]     properties file: null
[INFO]     properties file will override? false
[INFO]     prompt on non-local database? true
[INFO]     clear checksums? false
[INFO]     changeLogFile: src/main/resources/db/db.changelog.xml
[INFO]     context(s): null
[INFO]     referenceDriver: null
[INFO]     referenceUrl: hibernate:spring:pl.mlewando.ff.model?dialect=org.hibernate.dialect.MySQL5InnoDBDialect
[INFO]     referenceUsername: null
[INFO]     referencePassword: null
[INFO]     referenceDefaultSchema: null
[INFO]     diffChangeLogFile: src/main/resources/db/generated-db.changelog.xml
[INFO] ------------------------------------------------------------------------
DEBUG 25.11.14 12:07: liquibase: Connected to root@localhost@jdbc:mysql://localhost:3306/liquibase_test?characterEncoding=utf8
DEBUG 25.11.14 12:07: liquibase: Setting auto commit to false from true
[INFO] Executing on Database: jdbc:mysql://localhost:3306/liquibase_test?characterEncoding=utf8
[INFO] Loading artfacts into URLClassLoader
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/data/spring-data-jpa/1.7.0.RELEASE/spring-data-jpa-1.7.0.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/data/spring-data-commons/1.9.0.RELEASE/spring-data-commons-1.9.0.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-orm/4.0.7.RELEASE/spring-orm-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-jdbc/4.0.7.RELEASE/spring-jdbc-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-context/4.1.1.RELEASE/spring-context-4.1.1.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-expression/4.1.1.RELEASE/spring-expression-4.1.1.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-aop/4.0.7.RELEASE/spring-aop-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/aopalliance/aopalliance/1.0/aopalliance-1.0.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-tx/4.0.7.RELEASE/spring-tx-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-beans/4.0.7.RELEASE/spring-beans-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/springframework/spring-core/4.0.7.RELEASE/spring-core-4.0.7.RELEASE.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/aspectj/aspectjrt/1.8.2/aspectjrt-1.8.2.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/slf4j/jcl-over-slf4j/1.7.7/jcl-over-slf4j-1.7.7.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/hibernate/hibernate-entitymanager/4.3.6.Final/hibernate-entitymanager-4.3.6.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/jboss/logging/jboss-logging/3.1.3.GA/jboss-logging-3.1.3.GA.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/jboss/logging/jboss-logging-annotations/1.2.0.Beta1/jboss-logging-annotations-1.2.0.Beta1.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/hibernate/hibernate-core/4.3.6.Final/hibernate-core-4.3.6.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/antlr/antlr/2.7.7/antlr-2.7.7.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/jboss/jandex/1.1.0.Final/jandex-1.1.0.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/dom4j/dom4j/1.6.1/dom4j-1.6.1.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/hibernate/common/hibernate-commons-annotations/4.0.5.Final/hibernate-commons-annotations-4.0.5.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/hibernate/javax/persistence/hibernate-jpa-2.1-api/1.0.0.Final/hibernate-jpa-2.1-api-1.0.0.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/jboss/spec/javax/transaction/jboss-transaction-api_1.2_spec/1.0.0.Final/jboss-transaction-api_1.2_spec-1.0.0.Final.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/org/projectlombok/lombok/1.14.8/lombok-1.14.8.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/.m2/repository/mysql/mysql-connector-java/5.1.32/mysql-connector-java-5.1.32.jar
[INFO]   artifact: file:/C:/Users/mlewandowski/IdeaProjects/forfun/liquibase_test/backend/target/classes/
[INFO]   artifact: file:/C:/Users/mlewandowski/IdeaProjects/forfun/liquibase_test/backend/target/test-classes
[INFO] ------------------------------------------------------------------------
DEBUG 25.11.14 12:07: liquibase: Connected to null@hibernate:spring:pl.mlewando.ff.model?dialect=org.hibernate.dialect.MySQL5InnoDBDialect
DEBUG 25.11.14 12:07: liquibase: Not adjusting the auto commit mode; it is already false
INFO 25.11.14 12:07: liquibase-hibernate: Reading hibernate configuration hibernate:spring:pl.mlewando.ff.model?dialect=org.hibernate.dialect.MySQL5InnoDBDialect
INFO 25.11.14 12:07: liquibase-hibernate: Found package pl.mlewando.ff.model
INFO 25.11.14 12:07: liquibase-hibernate: Found dialect org.hibernate.dialect.MySQL5InnoDBDialect
INFO 25.11.14 12:07: liquibase-hibernate: Found hibernate.enhanced_idfalse
lis 25, 2014 12:07:37 PM org.hibernate.jpa.internal.util.LogHelper logPersistenceUnitInformation
INFO: HHH000204: Processing PersistenceUnitInfo [
        name: default
        ...]
lis 25, 2014 12:07:37 PM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.3.1.Final}
lis 25, 2014 12:07:37 PM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
lis 25, 2014 12:07:37 PM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
lis 25, 2014 12:07:37 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.5.Final}
lis 25, 2014 12:07:37 PM org.hibernate.dialect.Dialect <init>
INFO: HHH000400: Using dialect: org.hibernate.dialect.MySQL5InnoDBDialect
INFO 25.11.14 12:07: liquibase-hibernate: Using dialect org.hibernate.dialect.MySQL5InnoDBDialect
[INFO] Performing Diff on database root@localhost @ jdbc:mysql://localhost:3306/liquibase_test?characterEncoding=utf8 (Default Schema: liquibase_test)
DEBUG 25.11.14 12:07: liquibase: Computed checksum for 1416913657501 as 5fde170700e5d1ee87d42598486086ef
INFO 25.11.14 12:07: liquibase-hibernate: Found table User
INFO 25.11.14 12:07: liquibase-hibernate: Found table User
INFO 25.11.14 12:07: liquibase-hibernate: Found column id bigint
INFO 25.11.14 12:07: liquibase-hibernate: Found column name varchar(255)
INFO 25.11.14 12:07: liquibase-hibernate: Found primary key UserPK
INFO 25.11.14 12:07: liquibase: src\main\resources\db\generated-db.changelog.xml exists, appending
DEBUG 25.11.14 12:07: liquibase: MissingObjectChangeGenerator type order:     liquibase.structure.core.Catalog    liquibase.structure.core.Schema    liquibase.structure.core.Sequence    liquibase.structure.core.StoredProcedure    liquibase.structure.core.Table    liquibase.structure.core.Column    liquibase.structure.core.PrimaryKey    liquibase.structure.core.UniqueConstraint    liquibase.structure.core.ForeignKey    liquibase.structure.core.Index    liquibase.structure.core.View
DEBUG 25.11.14 12:07: liquibase: UnexpectedObjectChangeGenerator type order:     liquibase.structure.core.Catalog    liquibase.structure.core.ForeignKey    liquibase.structure.core.Schema    liquibase.structure.core.StoredProcedure    liquibase.structure.core.UniqueConstraint    liquibase.structure.core.View    liquibase.structure.core.Table    liquibase.structure.core.PrimaryKey    liquibase.structure.core.Column    liquibase.structure.core.Index    liquibase.structure.core.Sequence
DEBUG 25.11.14 12:07: liquibase: ChangedObjectChangeGenerator type order:     liquibase.structure.core.Catalog    liquibase.structure.core.ForeignKey    liquibase.structure.core.Schema    liquibase.structure.core.Sequence    liquibase.structure.core.StoredProcedure    liquibase.structure.core.Table    liquibase.structure.core.Column    liquibase.structure.core.PrimaryKey    liquibase.structure.core.Index    liquibase.structure.core.UniqueConstraint    liquibase.structure.core.View
INFO 25.11.14 12:07: liquibase: No changes found, nothing to do
[INFO] Differences written to Change Log File, src/main/resources/db/generated-db.changelog.xml
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.129 s
[INFO] Finished at: 2014-11-25T12:07:37+01:00
[INFO] Final Memory: 20M/308M
[INFO] ------------------------------------------------------------------------

src/main/java/pl/mlewando/ff/model 我有一个简单的类:

package pl.mlewando.ff.model;

import lombok.Data;

import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
@Data
class User {
    @Id
    private long id;
    private String name;
}

src/main/resources/META-INF/中的persistence.xml:

<?xml version="1.0" encoding="UTF-8"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
             xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
             version="2.0">
    <persistence-unit name="persistenceUnit" transaction-type="RESOURCE_LOCAL">
        <provider>org.hibernate.jpa.HibernatePersistenceProvider</provider>
        <properties>
            <property name="hibernate.dialect" value="org.hibernate.dialect.MySQL5InnoDBDialect" />
        </properties>
    </persistence-unit>
</persistence>

Database liquibase_test 是空的,当我执行 mvn liquibase:update 与空 db.changelog.xml 它创建表 databasechangelog databasechangeloglock,但之后当我运行 mvn liquibase:diff 时仍然看不到用户表。

我做错了什么?谢谢!

编辑:

当我尝试使用此命令从命令行区分时:

liquibase 
      --driver=com.mysql.jdbc.Driver 
      --url=jdbc:mysql://localhost:3306/liquibase_test_ref 
      --username=root 
      --password=root 
    diffChangeLog 
      --referenceUrl="hibernate:spring:pl.mlewando.ff.model?dialect=org.hibernate.dialect.MySQL5InnoDBDialect"

一切正常,我最终得到了这个变更日志:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.2.xsd http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd">
    <changeSet author="mlewandowski (generated)" id="1416923630350-1">
        <createTable tableName="User">
            <column name="id" type="BIGINT">
                <constraints nullable="false"/>
            </column>
            <column name="name" type="VARCHAR(255)"/>
        </createTable>
    </changeSet>
    <changeSet author="mlewandowski (generated)" id="1416923630350-2">
        <addPrimaryKey columnNames="id" constraintName="UserPK" tableName="User"/>
    </changeSet>
</databaseChangeLog>

我有 3.2.1 版的 liquibase(与 pom.xml 中的相同)和类路径上的这些 jar:

antlr-2.7.7.jar
aopalliance-1.0.jar
aspectjrt-1.8.2.jar
dom4j-1.6.1.jar
hibernate-commons-annotations-4.0.5.Final.jar
hibernate-core-4.3.1.Final.jar
hibernate-entitymanager-4.3.6.Final.jar
hibernate-envers-4.3.1.Final.jar
hibernate-jpa-2.1-api-1.0.0.Final.jar
jandex-1.1.0.Final.jar
javassist-3.18.1-GA.jar
jboss-logging-3.1.3.GA.jar
jboss-logging-annotations-1.2.0.Beta1.jar
jboss-transaction-api_1.2_spec-1.0.0.Final.jar
jcl-over-slf4j-1.7.7.jar
liquibase_test_backend-1.0.jar
liquibase-hibernate4-3.4.jar
mysql-connector-java-5.1.33.jar
slf4j-api-1.7.7.jar
snakeyaml-1.13.jar
spring-aop-4.0.7.RELEASE.jar
spring-beans-4.0.7.RELEASE.jar
spring-context-4.1.1.RELEASE.jar
spring-core-4.0.7.RELEASE.jar
spring-data-commons-1.9.0.RELEASE.jar
spring-data-jpa-1.7.0.RELEASE.jar
spring-expression-4.1.1.RELEASE.jar
spring-jdbc-4.0.7.RELEASE.jar
spring-orm-4.0.7.RELEASE.jar
spring-tx-4.0.7.RELEASE.jar
xml-apis-1.0.b2.jar

但我真的很想通过 maven 来做。所以,再说一遍:我做错了什么?

最佳答案

我不确定这是否相关,但前段时间我在 liquibase-hibernate-plugin 上发现了一个类似的错误。我使用的是带有 hiberante 4 的 Spring 本地 session 工厂,但它也没有发现变化。

调试后发现 liquibase-hibernate-plugin 使用 import org.springframework.orm.hibernate3.LocalSessionFactoryBean; into HibernateSpringDatabase.java因此它无法读取我的配置。

我更改了它并生成了一个拉取请求,现在它对我来说可以正常工作了。

如果您想尝试一下,可以使用我更改的 liquibase-hibernate-plugin 使用以下 maven 依赖项:

<dependency>
    <groupId>com.github.malaguna</groupId>
    <artifactId>liquibase-hibernate</artifactId>
    <version>liquibase-hibernate4-3.6.1</version>
</dependency>

但是首先你必须将 JitPack repo 添加到 maven pom.xml:

<repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
</repository>

希望对你有帮助!

关于java - Liquibase 看不到实体的变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27125521/

相关文章:

java - java中的BitSet存储的是位还是整数?

java - Java 编译器有哪些怪癖?

java - 使用 for 循环查找大量按钮 (Android Studio)

java - ItemReader reader() 无限循环

java - 使用jsp从数据库检索数据(Hibernate + Spring + Maven)

spring - 无法将源 {} 映射到实体

java - 外键抛出 ConstraintViolationException

multithreading - 乔布斯共享 EntityManagers - 玩!框架

java - 如何防止 JTable 的 ListSelectionListener 自行取消选择行?

hibernate - 如何为热/暖备用 Postgresql 服务器配置 c3p0?