Загрузка модели и DAO из внешнего JAR-файла в приложении Spring Boot - PullRequest
0 голосов
/ 26 сентября 2018

После долгих исследований и тестов я прошу сообщество оказать некоторую помощь:

Контекст

Приложение «V2»

MySQL 55

Mysql: 5.1.29

Hibernate: 4.2.5.Final

  • Application context.xml определяет DAO (+ Services, Controller, ..)
  • Модели, помеченные @Entity и загруженные, я думаю, org.springframework.orm.jpa.support.PersistenceAnnotationBeanPostProcessor?В контексте приложения?

Приложение «V3»

MySQL 57, но работает на 55

MySql: 5.1.46

Hibernate: 5.2.17.Final - Spring Boot - объект и репозиторий с аннотациями

Приложение для миграции

  • должно знать модель v2 иподключиться к v2 BDD

  • должен знать модель v3 и подключиться к v3 BDD

  • имеет несколько таблиц самостоятельно

=> Работает с Spring Boot, аннотации

3 Созданы источники данных, каждый из которых подключен к своему BDD

Сервисы используют @Qualifier для загрузки хорошего @ репозитория

Для app, v2, v3 (в разных пакетах) была создана простая модель

=> все отлично работает

Интеграция

Интеграция модели V2 и модели V3 в приложение Migration.

  • создание jar v3 -> импортировано через Maven -> сканирование пакетов в @ConfigurationНО экземпляр @Repository не создается

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

  • создание v2 jar -> импортированного через Maven -> создание класса @Configuration, который загружает приложение context.xml

Этот файл является локальным для приложения миграции (а не для внешнего jar)и опишите DAO (во внешний jar) для загрузки.

Приложение миграции хорошо запускается

Проблема

НО, когда мы вызываем v2 DAO для метода (v2DAO.find)=> ОШИБКА ) Ошибка:

Причина: org.hibernate.UnknownEntityTypeException: Невозможно найти персистент: com.company.model.MyModel

MyModel - @Entity во внешнюю банку

Вопросы

Кажется

  • существует проблема между DAO и моделью

  • или модель не загружена

  • или источник данных не связан с моделью

  • или DAO не загружен, как следует

Кстати, я нене возникает конфликт для сущностей при запуске, что странно.Разве у нас не должно быть «ошибок дублирующихся объектов»?

Есть ли проблема с версией hibernate / mysql?

Возможно ли загрузить объекты из внешнего JAR с помощью Spring Boot?(аннотация или файл контекста приложения?)

Есть идеи?вести?отражение?совет?


Я пытался до сих пор:

  • определить в persistence.xml все DAO в

=> (у меня былоизменить @Entity, потому что duplicate (доказательство того, что он хорошо загружен) -> ame error (Невозможно найти persister)

  • Обратный инжиниринг с помощью инструмента JBoss, генерация сущностей (но даже проверка Generate EJB3 Annotation: У меня нет аннотаций к моим сущностям, и они не работают

  • Создание собственного @ репозитория при переносе приложения -> не очень хорошо

  • копирование hbm.xml, сгенерированного с помощью обратного инжиниринга -> не очень хорошо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...