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

问题描述 投票:1回答:1

我是Hibernate和JPA的新手,我对这个注释有问题。有人可以用简单的词语向我解释这个注释实际上在做什么,因为在这种情况下我很难理解文档。

编辑我理解持久化上下文是什么,但在代码中我有类似的东西:

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

private Class<E> clazz;

@PersistenceContext
protected EntityManager em;

我对@PersistenceContext正在做的事情有疑问。对不起,也许我不具体。

java hibernate jpa
1个回答
0
投票

PersistenContext知道您的DataSource,JPA属性,实体等。如前所述:What is Persistence Context?您可以使用它在存储库中执行一些手动操作。例如。处理交易。我在使用设计糟糕的数据库的旧项目中使用了几次。通常没有必要。如果数据库设计得很好,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

© www.soinside.com 2019 - 2024. All rights reserved.