Подпаковка моих классов статической метамодели на Eclipse Indigo - PullRequest
0 голосов
/ 03 октября 2011

В настоящее время я использую Eclipse Indigo, и я хотел бы, чтобы мои классы метамодели автоматически генерировались в подпакете, а не в одном пакете моих сущностей.

IСледовали инструкциям в JPA Руководство пользователя для Canonical Model Generator на Eclipse Galileo, но он совсем не работает с Indigo.: (

Кто-нибудь использует классы статической метамодели в подпакете? Есть ли способ настроить его на Eclipse Indigo?

1 Ответ

1 голос
/ 03 октября 2011

Возможно, вам не следует менять пакет
Я бы посоветовал против этого, потому что наличие в субпакете (или любом другом) нарушает текущую спецификацию JPA 2:

• Для каждого управляемого класса X в пакете p класс метамодели X_ в пакет p создан. [67]
...
[67] Мы ожидаем, что вариант различные пакеты будут предоставлены в будущем выпуске этого спецификация.
...
Реализации этой спецификации не являются требуется для поддержки использования неканонических классов метамоделей. Приложения, использующие неканонические классы метамодели, не будут портативный.

Другой способ организации - обычная практика JUnit: один и тот же пакет в другом исходном каталоге.

Но если вам нужно, вот как это делается

Следующее работает по крайней мере с версией Eclipse: Indigo Service Release 1 20110916-0149 и EclipseLink: eclipselink-2.3.0.v20110604-r9504. Имена файлов JAR могут незначительно отличаться от версии к другой.

Если включено, отключить генерацию в том же пакете, где сущности:

  1. Перейдите в Свойства проекта - JPA и проверьте это значение в Исходной папке. это <None>

Настройка генерации на другой пакет:

  1. Свойства - Обработка аннотаций
    [x] Включить специфичные для проекта настройки
    [x] Включить обработку аннотаций
    [x] Включить обработку в редакторе
    Сгенерированный исходный каталог: src (или где бы ни находились источники)
  2. Новая опция процессора:
    ключ = eclipselink.canonicalmodel.subpackage
    значение = sub | (желаемое название пакета)
  3. Перейти на один уровень глубже к Обработка аннотаций | Заводской путь и выберите Добавить внешние файлы JAR и добавьте следующие банки:
    EclipseLink / jlib / jpajavax.persistence_2.0.3.v201010191057.jar
    EclipseLink / jlib / jpaeclipselink-JPA-modelgen_2.3.0.v20110604-r9504.jar
    EclipseLink / jlib / eclipselink.jar
  4. Пусть Eclipse перестроит проект.
...