使用 Warp-Persist 升级 Guice 的依赖性问题
Dependency problems upgrading Guice with Warp-Persist
我们有一个使用带有 warp-servlet 和 warp-persist 的 Guice 1.0 的应用程序,我们想升级到 Guice 2 或 3。但是,我们遇到了一个依赖网络,这使得它变得复杂.
有谁知道一种简单的方法(尽可能接近直接替换)来使 warp-persist 与较新的 Guice 一起工作,或者使 Guice-persist 与直接 Hibernate 一起工作?
- Warp-persist 需要 warp-servlet
- Warp-servlet 和 warp-persist 只支持 Guice 1.0
- Guice-persist 似乎是 warp-persist 的替代品,但它只支持 JPA,而我们直接使用 Hibernate(具有重要的基于标准的代码遗留,这使得移植到 JPA 变得非常重要)。
- Guice-persist 还声称有一种支持非 JPA 数据访问的方法,但似乎没有关于此的任何文档。
- Warp-persist 似乎不支持 Hibernate 4,所以我们也无法升级 Hibernate。
您可以从 JPA 实体管理器访问休眠会话。这允许您使用 migrate away from warp。
@Singleton
public class SessionProvider implements Provider<Session> {
/** The entity manger to retrieve the session from. */
@Inject
private Provider<EntityManager> entityManagerProvider;
/**
* @return the Hibernate session, being the delegate of the entity manager provided by the injected entity manager provider.
*/
@Override
public Session get() {
final Session session = (Session) entityManagerProvider.get().getDelegate();
return session;
}
}
您需要做的就是将 Hibernate 配置为您的 JPA 实现。
我也建议使用 onami persist。 Guice persist 好像被放弃了。
我们有一个使用带有 warp-servlet 和 warp-persist 的 Guice 1.0 的应用程序,我们想升级到 Guice 2 或 3。但是,我们遇到了一个依赖网络,这使得它变得复杂.
有谁知道一种简单的方法(尽可能接近直接替换)来使 warp-persist 与较新的 Guice 一起工作,或者使 Guice-persist 与直接 Hibernate 一起工作?
- Warp-persist 需要 warp-servlet
- Warp-servlet 和 warp-persist 只支持 Guice 1.0
- Guice-persist 似乎是 warp-persist 的替代品,但它只支持 JPA,而我们直接使用 Hibernate(具有重要的基于标准的代码遗留,这使得移植到 JPA 变得非常重要)。
- Guice-persist 还声称有一种支持非 JPA 数据访问的方法,但似乎没有关于此的任何文档。
- Warp-persist 似乎不支持 Hibernate 4,所以我们也无法升级 Hibernate。
您可以从 JPA 实体管理器访问休眠会话。这允许您使用 migrate away from warp。
@Singleton
public class SessionProvider implements Provider<Session> {
/** The entity manger to retrieve the session from. */
@Inject
private Provider<EntityManager> entityManagerProvider;
/**
* @return the Hibernate session, being the delegate of the entity manager provided by the injected entity manager provider.
*/
@Override
public Session get() {
final Session session = (Session) entityManagerProvider.get().getDelegate();
return session;
}
}
您需要做的就是将 Hibernate 配置为您的 JPA 实现。 我也建议使用 onami persist。 Guice persist 好像被放弃了。