使用 maven javafx 的带有嵌入式 derby 数据库的 jpa
jpa with embedded derby db using maven javafx
我的持久化文件内容:“jdbc:derby:deliceplaceDB;create=true”。但是我在执行“mvn clean javafx:run”时没有创建数据库“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”,但无法正常工作。
谢谢
您已经指定了一个加载脚本源 - 用于 post 创建脚本 - 并且指定的 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,如果有任何问题,请检查 post 日志。
我的持久化文件内容:“jdbc:derby:deliceplaceDB;create=true”。但是我在执行“mvn clean javafx:run”时没有创建数据库“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”,但无法正常工作。 谢谢
您已经指定了一个加载脚本源 - 用于 post 创建脚本 - 并且指定的 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,如果有任何问题,请检查 post 日志。