我的应用程序使用的是Spring 2.5和原生TopLink 10g。我想将我的应用程序从本机TopLink迁移到EclipseLink。
目前,我的应用程序extends TopLinkDaoSupport.java
(在Spring 2.5中)中的每个DAO,为了对所有DB操作使用#getSession()
方法,但该方法的返回类型是oracle.toplink.sessions.Session
而不是org.eclipse.persistence.sessions
。
这个问题有什么解决办法吗?
我还建议使用JPA而不是旧的TopLink API。如果您确实需要访问Session对象,您也可以从EntityManager
获取它。检查EclipseLink
中的org.eclipse.persistence.internal.jpa.EntityManagerImpl
-这是一个实现EntityManager
的类。有一个实现的getDelegate()
方法返回这个(EntityManagerImpl)
,所以((org.eclipse.persistence.jpa.JpaEntityManager)[EntityManager].getDelegate()).getActiveSession()
给了你org.eclipse.persistence.sessions.Session
。