当前位置: 首页 > 面试题库 >

如何使用org.hibernate.tool.EnversSchemaGenerator生成Envers数据库架构?

轩辕经国
2023-03-14
问题内容

我将Hibernate更新为4.1.1.Final版本。根据文档, 有两种方法可以生成html" target="_blank">数据库模式:

  1. 蚂蚁任务org.hibernate.tool.ant.EnversHibernateToolTask
  2. org.hibernate.tool.EnversSchemaGenerator从Java 运行。

Hibernate-
tools不适用于Hibernate-4.1.1.Final。它具有阻止错误。

我只发现发行说明和测试用例。那么如何org.hibernate.tool.EnversSchemaGenerator与我的persistence.xml和Maven一起使用?

更新:

在Hibernate论坛上找到了相关主题。我的问题似乎还没有答案。


问题答案:

Juplo 为Hibernate 4创建了Maven插件。该插件支持模式导出,包括Envers。工作示例如下。查看官方插件配置文档以获取有关使用选项的说明。

该插件在目标schema.sql的Maven
/target目录中生成文件test。或者,您可以手动运行hibernate4:export目标来更新文件。

<project>
    <build>
        <plugins>
            <plugin>
                <groupId>de.juplo</groupId>
                <artifactId>hibernate4-maven-plugin</artifactId>
                <version>1.0.3</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>export</goal>
                        </goals>
                    </execution>
                </executions>
                <configuration>
                    <envers>true</envers>
                    <format>true</format>
                    <delimiter>;</delimiter>
                    <force>true</force>
                    <type>CREATE</type>
                    <target>SCRIPT</target>
                    <hibernateDialect>org.hibernate.dialect.PostgreSQL9Dialect</hibernateDialect>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>


 类似资料:
  • 问题内容: 读完Hibernate之后:hbm2ddl.auto=正在生产中更新吗?出现了一些问题。首先,我使用Hibernate的原因是要与数据库供应商无关(无需编写10个版本的“相同” sql查询,例如tsql vs. sql)。 我的问题是在创建数据库架构(生产环境)时出现的。据我所知,我有两种选择。 hbm2dll =更新 纯sql(ddl)脚本。 在上面的主题中广泛讨论了第一种选择。第二

  • 问题内容: 是否有可用于Eclipse或Netbeans或任何其他IDE的插件,可以通过直接从数据库中读取模式来帮助我生成hbm.xml。 编写这些XML似乎是不必要的时间浪费,因此应该自动进行。 问题答案: 对于NetBeans,请参阅在Web应用程序中使用hibernate。 对于Eclipse,请使用Hibernate Tools 插件。这是一个演示如何使用其 逆向工程 功能的教程。

  • 问题内容: 我有一个带有id(guid)列的sql表。如何强制数据库为每条新记录自动生成新的Guid? 问题答案: 添加。

  • 问题内容: 我想生成一个5位数字,该数字在数据库内不重复。假设我有一个名为 numbers_mst 的表,其字段名为 my_number 。 我想生成一个数字,使其不重复出现在此my_number字段中。在此允许前面的零。因此,允许使用像00001这样的数字。另一件事是,它应该在00001到99999之间。我该怎么做? 我可以在这里猜测的一件事是,我可能必须创建一个递归函数以将数字检入表并生成。

  • 问题内容: 我想从数据库生成JPA (但我希望它是面向对象的)。例如 如果它还支持ManyToOne,OneToMany,Parent和ManyToMany,那将很酷。 PS我尝试了JBoss工具(hibernate工具),但没有为我工作。 问题答案: 使用JBoss工具(以前是hibernate工具)。 从他们的网站报价: 逆向工程:Hibernate Tools最强大的功能是数据库逆向工程工具

  • 我正在寻找一种从数据库值生成类的方法,以便使用可用的最新值提供更新的生成器类。用例如下: 有一张像这样的桌子 我希望生成一个可以像这样使用的生成器类 目标是能够在将值添加到数据库表时(使用Liquibase)生成更新的生成器类。有人知道有哪些库可以帮助实现这一点,或者有什么从头开始实现这一点的策略吗?我们的项目大多是Java 11,带有Groovy和Spring Boot。