Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/13.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
Java Eclipselink:persistence.xml连接到derby glassfish本地主机数据库(创建并填充数据库)_Java_Xml_Jpa_Glassfish_Eclipselink - Fatal编程技术网

Java Eclipselink:persistence.xml连接到derby glassfish本地主机数据库(创建并填充数据库)

Java Eclipselink:persistence.xml连接到derby glassfish本地主机数据库(创建并填充数据库),java,xml,jpa,glassfish,eclipselink,Java,Xml,Jpa,Glassfish,Eclipselink,我需要用eclipselink连接到本地主机derby数据库(在glassfish 4中)。 我想从类或sql脚本生成数据库。 在persistence.xml文件中,我有: <persistence-unit name="chapter04PU" transaction-type="JTA"> <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider> &l

我需要用eclipselink连接到本地主机derby数据库(在glassfish 4中)。 我想从类或sql脚本生成数据库。 在persistence.xml文件中,我有:

  <persistence-unit name="chapter04PU" transaction-type="JTA">
     <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
     <class>org.agoncal.book.javaee7.chapter04.Book</class>
     <properties>
     <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
     <property name="javax.persistence.schema-generation.scripts.action" value="drop-and-create"/>
     <property name="javax.persistence.schema-generation.scripts.create-target" value="chapter04Create.ddl"/>
     <property name="javax.persistence.schema-generation.scripts.drop-target" value="chapter04Drop.ddl"/>
     <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
     <property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/chapter04DB;create=true"/>
     <property name="javax.persistence.jdbc.user" value="APP"/>
     <property name="javax.persistence.jdbc.password" value="APP"/>
     <property name="javax.persistence.sql-load-script-source" value="insert.sql"/>
     <property name="eclipselink.logging.level" value="INFO"/>
     </properties>

org.eclipse.persistence.jpa.PersistenceProvider
org.agoncal.book.javaee7.chapter04.book

我可以让它工作。上面的持久性单元是正确的。 假设实体书类中的id具有以下注释: @身份证 @生成值 私人长id

使用以下持久性单元:

   <persistence-unit name="Book"  transaction-type="JTA">
    <provider>org.eclipse.persistence.jpa.PersistenceProvider</provider>
     <class>com.tutorial.Book</class>
      <properties>
       <property name="javax.persistence.schema-generation.database.action" value="drop-and-create"/>
       <property name="javax.persistence.schema-generation.scripts.action" value="drop-and-create"/>
       <property name="javax.persistence.schema-generation.scripts.create-target" value="create.ddl"/>
       <property name="javax.persistence.schema-generation.scripts.drop-target" value="drop.ddl"/>
       <property name="javax.persistence.jdbc.driver" value="org.apache.derby.jdbc.ClientDriver"/>
       <property name="javax.persistence.jdbc.url" value="jdbc:derby://localhost:1527/library_db;create=true"/>
       <property name="javax.persistence.jdbc.user" value="APP"/>
       <property name="javax.persistence.jdbc.password" value="APP"/>
       <property name="javax.persistence.sql-load-script-source" value="insert.sql"/>
       <property name="eclipselink.logging.level" value="INFO"/>
   </properties>
drop.ddl--------------------------------------------------

CREATE TABLE book (
    ID BIGINT NOT NULL,
    DESCRIPTION VARCHAR(255),
    ILLUSTRATIONS SMALLINT DEFAULT 0,
    ISBN VARCHAR(255),
    NBOFPAGE INTEGER,
    PRICE FLOAT,
    TITLE VARCHAR(255),
    PRIMARY KEY (ID))

CREATE TABLE SEQUENCE (
    SEQ_NAME VARCHAR(50) NOT NULL,
    SEQ_COUNT DECIMAL(15),
    PRIMARY KEY (SEQ_NAME))

INSERT INTO SEQUENCE(SEQ_NAME, SEQ_COUNT) values ('SEQ_GEN', 0)
DROP TABLE book

DELETE FROM SEQUENCE WHERE SEQ_NAME = 'SEQ_GEN'
INSERT INTO BOOK(ID, TITLE, DESCRIPTION, ILLUSTRATIONS, ISBN, NBOFPAGE, PRICE)
values (1000, 'Beginning Java EE 6', 'Best Java EE book ever', 1, '1234-5678', 450, 49)

INSERT INTO BOOK(ID, TITLE, DESCRIPTION, ILLUSTRATIONS, ISBN, NBOFPAGE, PRICE)
values (1001, 'Beginning Java EE 7', 'No, this is the best ', 1, '5678-9012', 550, 53)
insert.sql----------------------------------------

CREATE TABLE book (
    ID BIGINT NOT NULL,
    DESCRIPTION VARCHAR(255),
    ILLUSTRATIONS SMALLINT DEFAULT 0,
    ISBN VARCHAR(255),
    NBOFPAGE INTEGER,
    PRICE FLOAT,
    TITLE VARCHAR(255),
    PRIMARY KEY (ID))

CREATE TABLE SEQUENCE (
    SEQ_NAME VARCHAR(50) NOT NULL,
    SEQ_COUNT DECIMAL(15),
    PRIMARY KEY (SEQ_NAME))

INSERT INTO SEQUENCE(SEQ_NAME, SEQ_COUNT) values ('SEQ_GEN', 0)
DROP TABLE book

DELETE FROM SEQUENCE WHERE SEQ_NAME = 'SEQ_GEN'
INSERT INTO BOOK(ID, TITLE, DESCRIPTION, ILLUSTRATIONS, ISBN, NBOFPAGE, PRICE)
values (1000, 'Beginning Java EE 6', 'Best Java EE book ever', 1, '1234-5678', 450, 49)

INSERT INTO BOOK(ID, TITLE, DESCRIPTION, ILLUSTRATIONS, ISBN, NBOFPAGE, PRICE)
values (1001, 'Beginning Java EE 7', 'No, this is the best ', 1, '5678-9012', 550, 53)