Миграция с нативного на постоянство EclipseLink

1

Мое приложение использует Spring 2.5 и собственный TopLink 10g. Я хочу перенести приложение из родного TopLink в EclipseLink.

В настоящее время каждый DAO в моем приложении extends TopLinkDaoSupport.java (весной 2.5), чтобы использовать метод #getSession() для всех операций БД, но возвращаемый тип метода - oracle.toplink.sessions.Session вместо org.eclipse.persistence.sessions.

Есть ли какое-либо решение указанной проблемы?

  • 0
    Почему вы не используете JPA API? Таким образом, вы можете просто внедрить EntityManager в ваши DAO.
  • 0
    Да, я могу. Но JPA потребовал много изменений / усилий, поскольку каждый DAO широко использовал метод getTopLinkTemplate () для чтения записей из БД.
Показать ещё 1 комментарий
Теги:
java-ee
eclipselink
toplink

1 ответ

1

Я бы также рекомендовал использовать JPA вместо старого API TopLink. Если вам действительно нужен доступ к объекту Session, вы можете получить его и от EntityManager. Проверьте org.eclipse.persistence.internal.jpa.EntityManagerImpl в EclipseLink - это класс, реализующий EntityManager. Существует метод getDelegate() который возвращает это (EntityManagerImpl) поэтому ((org.eclipse.persistence.jpa.JpaEntityManager)[EntityManager].getDelegate()).getActiveSession() предоставляет вам org.eclipse.persistence.sessions.Session,

  • 0
    Могу ли я использовать существующие «toplink-mapping.xml и session.xml» в JPA или мне нужно переопределить все мои сущности в persistence.xml,
  • 0
    Да, вы можете использовать существующие файлы сопоставления. Смотрите wiki.eclipse.org/…

Ещё вопросы

Сообщество Overcoder
Наверх
Меню