Как мне настроить persistence.xml для ORM на glassfish v3 с помощью Derby и Eclipselink - PullRequest
0 голосов
/ 14 февраля 2012

Я использую внутренний плагин glassfish 3.1 для Eclipse вместе с установленной мною базой данных derby (она отображается в обозревателе источников данных в представлении Database Developer в Eclipse), и я перебираю последний шаг заставить ORM работать так, чтобы я мог разработать приложение, которое сохраняет данные с EJB-компонентами, используя Eclipselink для реализации JPA.

Я знаю, что мне нужно настроить файл persistence.xml, но я не знаю, что в нем должно содержаться, что означают имена отдельных полей. Мне кажется, что цель файла persistence.xml - сообщить Glassfish, где найти базу данных для хранения всего и какую реализацию JPA использовать для этого хранения.

У меня есть куча вопросов.

  1. Нужно ли иметь постоянную запись для каждого класса, который представляет объект в базе данных? Так что, если бы у меня был класс Book и класс Library, потребовались бы мне две записи в persistence.xml или я мог бы просто сделать один случай, который бы обслуживал их обоих?

  2. Где найти дополнительную информацию о настройке файла persistence.xml В ОБЩЕМ. Я нашел тонны очень специфических учебных пособий с информацией о том, как настроить его в настройках X, Y или Z, но ничего, что объясняет отдельные биты, и как бы вы сконфигурировали их на высоком уровне.

  3. Как только я правильно настрою свой файл persistence.xml, что еще мне нужно сделать, чтобы убедиться, что мои классы @annotated будут правильно обслуживаться реализацией ORM? Что-то мне нужно настроить в Glassfish?

1 Ответ

0 голосов
/ 01 марта 2012

Я не эксперт, но ...

1) Да, по моему опыту, вам нужна запись для каждого класса. Могут быть исключения из этого, но я не знаком с ними.

2) [http://wiki.eclipse.org/EclipseLink/] - хорошее место для начала. [http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Configuration/JPA/persistence.xml] содержит некоторые детали, которые вы, возможно, уже знаете. У меня проблемы с поиском идеального ресурса. Я склонен находить фрагментированную информацию повсюду.

3) Как правило, большая часть моего файла persistence.xml была автоматически сгенерирована eclipselink. После того, как я создал пул соединений и ресурс JDBC из Консоли администрирования glassfish Я должен был добавить свой

<jta-data-source>jdbc/your_name</jta-data-source>

to persistence.xml. [1]

<property name="eclipselink.ddl-generation" value="create-tables"/>
<property name="eclipselink.ddl-generation.output-mode" value="database"/>

Я добавил эти свойства, чтобы мои столбцы идентификаторов автоматически увеличивались с использованием JPA.

Попробуйте эти два руководства, чтобы лучше понять, как это работает:

[1] http://programming.manessinger.com/tutorials/an-eclipse-glassfish-java-ee-6-tutorial/#heading_toc_j_24

http://itsolutionsforall.com/index.php

[* извиняюсь, я не могу опубликовать более 2 ссылок в данный момент]

...