oracle 在没有数据库连接的情况下,可以使用Hibernate Schema生成来生成MySQL吗

epggiuax  于 2023-10-16  发布在  Oracle
关注(0)|答案(3)|浏览(86)

我想使用Hibernate的模式生成来为一个我不能直接从PC访问的数据库生成JavaScript,只能使用Hibernate配置文件。如果可能的话,我想跳过本地Oracle数据库的安装。Hibernate能否为适当的方言、版本等的“理论”数据库生成JavaScript,或者这是一个白日梦?
还有其他工具可以做到这一点吗?

0s7z1bwu

0s7z1bwu1#

1.您可以使用In-memory database during testing phase;
hibernate.hbm2ddl.auto =“更新”

  • 或者,您可以使用MavenMaven生成您的hibernatetool
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-antrun-plugin</artifactId>
    <executions>
        <execution>
            <id>generate-test-sql-scripts</id>
            <phase>generate-test-resources</phase>
            <goals>
                <goal>run</goal>
            </goals>
            <configuration>
                <tasks>
                    <property name="maven_test_classpath" refid="maven.test.classpath"/>
                    <path id="hibernate_tools_path">
                        <pathelement path="${maven_test_classpath}"/>
                    </path>
                    <property name="hibernate_tools_classpath" refid="hibernate_tools_path"/>
                    <taskdef name="hibernatetool"
                             classname="org.hibernate.tool.ant.HibernateToolTask"/>
                    <mkdir dir="${project.build.directory}/test-classes/hsqldb"/>
                    <hibernatetool destdir="${project.build.directory}/test-classes/hsqldb">
                        <classpath refid="hibernate_tools_path"/>
                        <jpaconfiguration persistenceunit="testPersistenceUnit"
                                          propertyfile="src/test/resources/META-INF/spring/jdbc.properties"/>
                        <hbm2ddl drop="false" create="true" export="false"
                                 outputfilename="create_db.sql"
                                 delimiter=";" format="true"/>
                        <hbm2ddl drop="true" create="false" export="false"
                                 outputfilename="drop_db.sql"
                                 delimiter=";" format="true"/>
                    </hibernatetool>
                </tasks>
            </configuration>
        </execution>
    </executions>
</plugin>

这个Maven插件将生成以下的xml文件:

  • SQL_db. sql(包含用于创建DB的所有SQL语句)
  • drop_db. sql(包含用于删除DB的所有SQL语句)
qnakjoqk

qnakjoqk2#

从hibernate-tools 5.3开始,您还可以使用集成的hibernate-tools-maven-plugin。在那里,您还可以找到有关如何使用它的文档。
不幸的是,详细描述其参数/目标的maven站点尚未发布,但它的旧版本here可用。
将有一个公关(#842),将允许该网站生成.不幸的是,它还没有找到它的方式。

6psbrbz9

6psbrbz93#

请尝试我的新插件,它解决了这个确切的问题,也困扰了我很多年。
https://github.com/archiecobbs/hibernate-jpa-schemagen

相关问题