【问题标题】:jpa with embedded derby db using maven javafx使用 maven javafx 嵌入 derby db 的 jpa
【发布时间】:2021-05-23 14:07:43
【问题描述】:

我的持久化文件内容:“jdbc:derby:deliceplaceDB;create=true”。但是我在执行“mvn clean javafx:ru​​n”时没有创建数据库“deliceplaceDB”。求帮助!!!

我的persistence.xml

    <?xml version="1.0" encoding="UTF-8"?>
<persistence version="2.1" xmlns="http://xmlns.jcp.org/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/persistence http://xmlns.jcp.org/xml/ns/persistence/persistence_2_1.xsd">
    <persistence-unit name="deliceplacePU" transaction-type="RESOURCE_LOCAL">
        <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
        <properties>
            <property name="eclipselink.target-database" value="Derby"/>
            <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver" />
            <property name="javax.persistence.jdbc.url" value="jdbc:derby:deliceplaceDB;create=true" />
             <property name="javax.persistence.sql-load-script-source" value="sql/create.sql"/>
            <property name="javax.persistence.jdbc.user" value="" />
            <property name="javax.persistence.jdbc.password" value="" />
            <property name="eclipselink.logging.level" value="ALL" />
            <property name="eclipselink.ddl-generation.output-mode" value="database"/>
        </properties>
    </persistence-unit>
</persistence>

我想在运行时加载我的 sql 文件“create.sql”,但无法正常工作。 谢谢

【问题讨论】:

  • eclipselink.ddl-generation.output-mode 的意义何在?您是希望 EclipseLink 从模型生成表,还是您的脚本应该这样做?

标签: maven jpa eclipselink


【解决方案1】:

您已经指定了一个加载脚本源 - 用于创建后脚本 - 并且指定的 DDL 生成将进入数据库,但这仅在您打开它时发生。

指定属性:

   <property name="javax.persistence.schema-generation.database.action" value="create"/>
   <property name="javax.persistence.schema-generation.create-source" value="script"/>
   <property name="javax.persistence.schema-generation.create-script-source" value="sql/create.sql"/>

第一个告诉 JPA 在部署时创建数据库,第二个告诉它查找脚本,第三个告诉它脚本在哪里。

请参阅here 了解其他选项的详细说明,如果有任何问题,请检查并发布日志。

【讨论】:

  • 我正在寻找 eclipse 从脚本“sql/create”生成表。
  • 我会试试你的解决方案。我认为它会工作
猜你喜欢
  • 2014-09-08
  • 1970-01-01
  • 2021-05-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-09-04
  • 1970-01-01
相关资源
最近更新 更多