derby persistence.xml - PullRequest
       26

derby persistence.xml

2 голосов
/ 02 февраля 2012

Каким должно быть утверждение свойства относительно драйвера клиента derby в persistence.xml, например:

<property name="javax.persistence.jdbc.driver" value="  ?  " />

При попытке обновления БД с Java я получаю исключение ниже.
На самом деленужен драйвер клиента вместо EmbeddedDriver.Не знаю, как его назвать.
Проект имеет в своем пути / библиотеках java Build JDBC-драйвер Derby Client (плагин eclipse имеет плагин derby).Программная инструкция, вызывающая исключение:

    factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME);
    EntityManager em = factory.createEntityManager();


[EL Info]: 2012-02-02 10:48:44.805--ServerSession(1434473856)--EclipseLink, version: Eclipse Persistence Services - 2.3.2.v20111125-r10461
[EL Severe]: 2012-02-02 10:48:44.93--ServerSession(1434473856)--Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Exception Description: Configuration error.  Class [org.apache.derby.jdbc.EmbeddedDriver] not found.
Exception [EclipseLink-4003] (Eclipse Persistence Services - 2.3.2.v20111125-r10461): org.eclipse.persistence.exceptions.DatabaseException
Exception Description: Configuration error.  Class [org.apache.derby.jdbc.EmbeddedDriver] not found.

1 Ответ

3 голосов
/ 02 февраля 2012

javax.persistence.jdbc.driver определяет протокол, который будет использоваться для доступа к базе данных.

Вам необходимо установить его следующим образом, если вы хотите получить доступ к удаленному / локальному сетевому серверу Derby:

<property name="javax.persistence.jdbc.driver" value="jdbc:derby://localhost:1527/my_schema  " />

Где 1527 - это порт вашего сетевого сервера. А my_schema - это схема вашей базы данных.

Если у вас еще нет схемы, используйте ;create=true для ее создания:

jdbc:derby://localhost:1527/my_schema;create=true

Возможно, вы захотите взглянуть на Руководство по началу работы .

Примечание:

Class [org.apache.derby.jdbc.EmbeddedDriver] not found.

Это говорит о том, что не все банки, необходимые для дерби, присутствуют в пути к классам (в своем комментарии вы утверждаете, что это так). Если вы получили какое-либо такое исключение, убедитесь, что все jar-файлы действительно находятся в пути к классам.

...