gpt4 book ai didi

java - @持久上下文: Could someone explain that annotation?

转载 作者:太空宇宙 更新时间:2023-11-04 09:49:17 25 4
gpt4 key购买 nike

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

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

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

private Class<E> clazz;

@PersistenceContext
protected EntityManager em;

我对 @PersistenceContext 所做的事情有疑问。抱歉,也许我说得不够具体。

最佳答案

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

如果您不需要做一些特殊的事情,您可以只定义一个存储库接口(interface),而不需要任何实现。

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

关于java - @持久上下文: Could someone explain that annotation?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54992118/

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