我是Hibernate和JPA的新手,对此注释有疑问。有人可以用简单的词来解释这个注释的实际作用,因为在这种情况下文档很难理解。
编辑 我了解什么是持久上下文,但是在代码中,例如,我有类似的内容:
@Repository
public class AbstractRepository<E extends Identifable> implements IRepository<E> {
private Class<E> clazz;
@PersistenceContext
protected EntityManager em;
@PersistenceContext在做什么。抱歉,也许我没有具体。
答案 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
如果您不需要执行特殊操作,则可以定义存储库接口,而无需执行任何操作。