首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hibernate envers默认模式不工作。

hibernate envers默认模式不工作。
EN

Stack Overflow用户
提问于 2014-10-28 09:51:06
回答 1查看 889关注 0票数 1

我有一个maven项目,我在其中使用了spring数据和JPA(hibernate)。并由XML配置。envers的默认架构已更改。但这不管用。当我看到DDL输出时,它说:

错误org.hibernate.tool.hbm2ddl.SchemaUpdate - HHH000388:不成功: alter VETERANS_AUD.USERPROFILE_ROLE_AUD添加约束FK_nbpfx0rjc9hqiaiv4vofp82kc外键(REV)引用VETERANS_AUD.AuditedRevisionEntity 12:54:37.322 localhost-startStop-1错误org.hibernate.tool.hbm2ddl.SchemaUpdate - ORA-00942:表或视图不存在

问题是:表没有在定义的模式中创建,但是约束需要在定义的模式中创建。我使用了@AuditTable,但问题已经存在。试镜表不会在定义的架构中创建。

我的pom的一部分是:

代码语言:javascript
复制
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-jpa</artifactId>
        <version>1.4.4.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.data</groupId>
        <artifactId>spring-data-envers</artifactId>
        <version>0.2.0.RELEASE</version>
    </dependency>
    <dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-entitymanager</artifactId>
        <version>4.3.6.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate</groupId>
        <artifactId>hibernate-envers</artifactId>
        <version>4.3.6.Final</version>
    </dependency>
    <dependency>

这是我的配置:

代码语言:javascript
复制
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean" p:persistenceXmlLocation="classpath:META-INF/persistence.xml" p:dataSource-ref="dataSource">
        <property name="jpaVendorAdapter">
            <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter"  p:databasePlatform="${hibernate.dialect}" p:showSql="${hibernate.show_sql}" p:generateDdl="${hibernate.generate_ddl}" />
        </property>
        <property name="jpaProperties">
            <props>
                <prop key="org.hibernate.envers.default_schema">${hibernate.envers_schema}</prop>
                <prop key="spring.jpa.properties.org.hibernate.envers.default_schema">${hibernate.envers_schema}</prop>
                <prop key="hibernate.hbm2ddl.auto">${hibernate.hbm2ddl.auto}</prop>
                <prop key="hibernate.default_schema">${hibernate.default_schema}</prop>
                <prop key="hibernate.format_sql">${hibernate.format_sql}</prop>
                <prop key="org.hibernate.envers.revision_on_collection_change">false</prop>
                <prop key="hibernate.ejb.naming_strategy">org.hibernate.cfg.DefaultComponentSafeNamingStrategy</prop>
            </props>
        </property>
        <property name="packagesToScan">
            <list>
                <value>com.dpj.veterans.model.domain</value>
                <value>com.juice.applejuice.audition</value>
            </list>
        </property>
    </bean>

我怎样才能解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2021-07-23 15:48:54

如果您有一个自定义修订信息表,则必须将模式指定为@Table注释的一部分,即。

代码语言:javascript
复制
@Table(name = "rev", schema = "schema")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26605241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档