【发布时间】:2010-03-16 20:36:07
【问题描述】:
我对 Spring 和 Hibernate 非常陌生。在我们的团队中,我们正在使用 Struts 2 作为表示层构建一个 Web 应用程序,下面是 Spring 3 和 Hibernate 3(带有注释)。我们仍在争论是否使用 DAO 和 Session 或 EntityManager 进行 CRUD 操作。撇开哪个更好的问题不谈,我使用EntityManager 遇到了另一个问题。
我的目标是创建一个抽象(通用)Service,它将公开 4 个基本操作:保存、删除、按 ID 查找和按类查找所有操作。其他服务将从这里继承并仅实现自定义查找或更新(将来可能会更改)。问题是,我不确定将带注释的EntityManager 放在哪里。我知道如果我从我的Action(即 Bob,它从 Person 父级 Service 继承 save())在服务中调用 save(),系统将无法注入 EntityManager,因为服务人员有未被调用且@PersistenceContext 注释未被解析。
有没有办法解决这个问题?我想为我的服务使用继承,因为这样可以减少简单操作所需的代码量。
【问题讨论】:
标签: hibernate spring entitymanager hibernate-entitymanager