Мое приложение использует Spring 2.5 и собственный TopLink 10g. Я хочу перенести приложение из родного TopLink в EclipseLink.
В настоящее время каждый DAO в моем приложении extends TopLinkDaoSupport.java
(весной 2.5), чтобы использовать метод #getSession()
для всех операций БД, но возвращаемый тип метода - oracle.toplink.sessions.Session
вместо org.eclipse.persistence.sessions
.
Есть ли какое-либо решение указанной проблемы?
Я бы также рекомендовал использовать 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
,
EntityManager
в ваши DAO.