gpt4 book ai didi

java - Spring DaoSupport 和@PersistanceContext EntityManager?

转载 作者:搜寻专家 更新时间:2023-11-01 02:34:46 25 4
gpt4 key购买 nike

理解 Spring 最困难的事情之一是 Spring 支持对同一问题的多种方法。

所以在我的应用程序中,我使用注入(inject)的 EntityManager 使用 @PersistanceContext 注释,例如:

@Repository
public class JpaDao extends JpaDaoSupport implements Dao {

@PersistenceContext(unitName = "PersistanceUnit", type = PersistenceContextType.EXTENDED)
private EntityManager em;

这种方法是否与扩展 JpaDaoSupport 兼容(这需要在 EntityManager 中注入(inject))?在我看来,解决同一个问题的两种不相容的方法,但我想从对 Spring 有更多经验的人那里得到一些建议。

如果我不应该扩展 JpaDaoSupport,我应该如何使用 @PersistenceContext 方法构建我的 DAO?

最佳答案

您是对的,它们是解决同一问题的两种不同方法。我认为哪个“更好”是品味问题。使用注释的好处是可以避免代码中的 Spring 导入依赖项,甚至 JpaDaoSupport 的 Spring JavaDoc 也建议将它们用于新的 JPA 项目。 JpaDaoSupport 是为了让 Spring 对 JPA 的支持等同于对其他 ORM 策略的支持(HibernateDaoSupportJdbcDaoSupportTopLinkDaoSupport 等)。在这些情况下,基于注解的注入(inject)不是一种选择。

关于java - Spring DaoSupport 和@PersistanceContext EntityManager?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1112173/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com