2

我对 Spring & Hibernate 非常陌生。在我们的团队中,我们正在使用 Struts 2 作为表示层构建一个 Web 应用程序,下面是 Spring 3 和 Hibernate 3(带有注释)。我们仍在争论是否使用 DAO 和Session's 或EntityManager's 进行 CRUD 操作。抛开哪个更好的问题,我在使用EntityManager.

我的目标是创建一个抽象(通用)Service,它将公开 4 个基本操作:保存、删除、按 ID 查找和按类查找全部。其他服务将从这里继承并仅实现自定义查找或更新(这可能会在未来发生变化)。问题是,我不确定将带注释的EntityManager. 我知道,如果我从我的服务中调用 save() Action,即 Bob,它save()从 Person parent继承Service,系统将无法注入,EntityManager因为尚未调用 Service Person 并且@PersistenceContext未解析注释。

有没有办法解决这个问题?我想为我的服务使用继承,因为这会减少简单操作所需的代码量。

4

1 回答 1

0

链接可能会有所帮助。

如果您最终使用Session对象,您将需要研究HibernateDaoSupport,它将作为您的通用服务类的基类很好地发挥作用。

于 2011-04-12T20:10:04.613 回答