@PersistentContext:有人可以解释该注释吗?

时间:2019-03-04 21:52:54

标签: java hibernate jpa

我是Hibernate和JPA的新手,对此注释有疑问。有人可以用简单的词来解释这个注释的实际作用,因为在这种情况下文档很难理解。

编辑 我了解什么是持久上下文,但是在代码中,例如,我有类似的内容:

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

private Class<E> clazz;

@PersistenceContext
protected EntityManager em;

@PersistenceContext在做什么。抱歉,也许我没有具体。

1 个答案:

答案 0 :(得分:0)

PersistenContext知道您的数据源,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