我的应用程序使用Spring 2.5和本机TopLink 10g。我想将应用程序从本地TopLink迁移到EclipseLink。
当前,我的应用程序extends TopLinkDaoSupport.java
(在Spring 2.5中)中的每个DAO都为了对所有数据库操作使用#getSession()
方法,但是该方法的返回类型是oracle.toplink.sessions.Session
而不是org.eclipse.persistence.sessions
。
上述问题有解决方案吗?
最佳答案
我还建议使用JPA代替旧的TopLink API。
如果确实需要访问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
。