我对 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
未解析注释。
有没有办法解决这个问题?我想为我的服务使用继承,因为这会减少简单操作所需的代码量。