Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
这些JPA错误消息是问题吗?_Jpa_Derby_Netbeans Platform - Fatal编程技术网

这些JPA错误消息是问题吗?

这些JPA错误消息是问题吗?,jpa,derby,netbeans-platform,Jpa,Derby,Netbeans Platform,我在一个Netbeans平台应用程序中看到了这个输出,在这个应用程序中,我使用JPA和嵌入式derby数据库。如果数据库不存在,我希望在用户根目录中创建数据库,这样用户就不会进行其他配置。有人知道下面的异常消息或警告是否会成为问题吗 derby.system.home=/home/simgineer/.simdriver derby.stream.error.file=/home/simgineer/.simdriver/log/derby.log [EL Info]: 2012-09-12 1

我在一个Netbeans平台应用程序中看到了这个输出,在这个应用程序中,我使用JPA和嵌入式derby数据库。如果数据库不存在,我希望在用户根目录中创建数据库,这样用户就不会进行其他配置。有人知道下面的异常消息或警告是否会成为问题吗

derby.system.home=/home/simgineer/.simdriver
derby.stream.error.file=/home/simgineer/.simdriver/log/derby.log
[EL Info]: 2012-09-12 11:46:42.397--ServerSession(177592104)--file:/home/simgineer/NetBeansProjects/SimDriver/build/cluster/modules/ext/MyDbLib.jar_VmCfgLibPU login successful
Database Class Loader started - derby.database.classpath=''
[EL Warning]: 2012-09-12 11:46:42.763--ServerSession(177592104)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Table/View 'VMCFG' already exists in Schema 'APP'.
Error Code: 30000
Call: CREATE TABLE APP.VMCFG (ID BIGINT NOT NULL, BOOT VARCHAR(30), CDROM VARCHAR(60), CPU VARCHAR(30), ENABLEKVM SMALLINT, HDA VARCHAR(80), MACADDR VARCHAR(30), SOUNDHW VARCHAR(30), VMNAME VARCHAR(30) NOT NULL, PRIMARY KEY (ID))
Query: DataModifyQuery(sql="CREATE TABLE APP.VMCFG (ID BIGINT NOT NULL, BOOT VARCHAR(30), CDROM VARCHAR(60), CPU VARCHAR(30), ENABLEKVM SMALLINT, HDA VARCHAR(80), MACADDR VARCHAR(30), SOUNDHW VARCHAR(30), VMNAME VARCHAR(30) NOT NULL, PRIMARY KEY (ID))")
[EL Warning]: 2012-09-12 11:46:42.876--ServerSession(177592104)--Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Table/View 'SEQUENCE' already exists in Schema 'APP'.
Error Code: 30000
Call: CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(15), PRIMARY KEY (SEQ_NAME))
Query: DataModifyQuery(sql="CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(15), PRIMARY KEY (SEQ_NAME))")
这是我的persistence.xml

<persistence version="2.0" xmlns="http://java.sun.com/xml/ns/persistence" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/persistence http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
  <persistence-unit name="VmCfgLibPU" transaction-type="RESOURCE_LOCAL">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
    <class>mycompany.jpa.Vmcfg</class>
    <properties>
      <property name="javax.persistence.jdbc.url" value="jdbc:derby:myDB;create=true"/>
      <property name="javax.persistence.jdbc.password" value="app"/>
      <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.EmbeddedDriver"/>
      <property name="javax.persistence.jdbc.user" value="app"/>
      <property name="eclipselink.ddl-generation" value="create-tables"/>
    </properties>
  </persistence-unit>
</persistence>

org.eclipse.persistence.jpa.PersistenceProvider
mycompany.jpa.Vmcfg

您遇到的异常是因为您在不删除表的情况下多次运行应用程序。您可能想看看这个问题及其答案,您得到的异常是因为您在不删除表的情况下多次运行应用程序。您可能想看看这个问题及其答案

谢谢您的链接。如果表已经存在,我不想删除它们,因为我在嵌入式模式下使用它,也不想让用户有额外的步骤来创建数据库。有趣的是,在你链接的问题上有一个例外的答案,但它没有回答这个问题,而是说你可以生成DDL脚本。我只是希望系统不要试图创建表,如果它已经存在,正如Pascal提到的规范中所宣传的那样。谢谢链接。如果表已经存在,我不想删除它们,因为我在嵌入式模式下使用它,也不想让用户有额外的步骤来创建数据库。有趣的是,在你链接的问题上有一个例外的答案,但它没有回答这个问题,而是说你可以生成DDL脚本。我只是希望系统不要试图创建表,如果它已经存在,正如Pascal提到的规范中所宣传的那样。