@PersistentContext:有人能解释一下这个注解吗?

3

我是Hibernate和JPA的新手,我遇到了这个注解的问题。有人能用简单的话解释一下这个注解实际上是做什么的吗?因为在这种情况下,文档对我来说很难理解。

编辑 我理解什么是持久化上下文,但在我的代码中,例如像这样:

@Repository
public class AbstractRepository<E extends Identifable> implements IRepository<E> {

private Class<E> clazz;

@PersistenceContext
protected EntityManager em;

我对@PersistenceContext的作用存在问题。抱歉,可能我没有表述清楚。


1
这是重复的吗?https://dev59.com/EGIj5IYBdhLWcg3wv3m2 - markspace
1
可能是 什么是 Persistence Context? 的重复问题。 - Andronicus
我希望我的答案对你有所帮助。 - DCO
1个回答

1
一 PersistenContext 能够识别您的数据源、JPA 属性、实体等,详细信息请参阅:什么是持久化上下文? 您可以使用它在存储库中执行一些手动操作,例如处理事务。 我在旧项目中多次使用过它,用于处理设计不良的数据库。 通常情况下,这并不是必要的。如果您的数据库设计得好,Spring 几乎可以处理所有事情。
也许这可以帮助您:
    public void saveMovie() {
    EntityManager em = getEntityManager();

    em.getTransaction().begin();

    Movie movie = new Movie();
    movie.setId(1L);
    movie.setMovieName("The Godfather");
    movie.setReleaseYear(1972);
    movie.setLanguage("English");

    em.persist(movie);
    em.getTransaction().commit();
}

https://www.baeldung.com/the-persistence-layer-with-spring-and-jpa

https://www.baeldung.com/hibernate-entitymanager

如果您不需要执行特殊操作,只需定义一个没有任何实现的存储库接口即可。

https://www.baeldung.com/spring-data-repositories


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接