WedX - журнал о программировании и компьютерных науках

Eclipselink: persistence.xml подключается к базе данных локального хоста derby Glassfish (создание и заполнение базы данных)

Мне нужно подключиться к базе данных localhost derby (в Glassfish 4) с помощью eclipselink. Я хочу создать базу данных из классов или скрипта 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>


Ответы:


1

Я мог заставить это работать. вышеуказанная единица персистентности была правильной. Предположим, что в классе Entity Book идентификатор имеет следующие аннотации: @Id @GeneratedValue private Long 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>

Scripts like the following:

create.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.ddl ---------------------------------------- ----------

DROP TABLE book

DELETE FROM SEQUENCE WHERE SEQ_NAME = 'SEQ_GEN'

insert.sql-------------------------------------------------------

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)
16.01.2014
Новые материалы

Как проанализировать работу вашего классификатора?
Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

Работа с цепями Маркова, часть 4 (Машинное обучение)
Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

Учебные заметки: создание моего первого пакета Node.js
Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

ИИ в аэрокосмической отрасли
Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


Для любых предложений по сайту: [email protected]