@PersistentContext: Может кто-нибудь объяснить эту аннотацию? - PullRequest
0 голосов
/ 05 марта 2019

Я новичок в Hibernate и JPA, и у меня возникла проблема с этой аннотацией.Может ли кто-нибудь объяснить мне простыми словами, что на самом деле делает эта аннотация, потому что в этом случае мне трудно понять документацию.

РЕДАКТИРОВАТЬ Я понимаю, что такое постоянный контекст, но в коде у меня есть, например, что-то подобное:

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

private Class<E> clazz;

@PersistenceContext
protected EntityManager em;

И у меня проблема с тем, что делает @PersistenceContext.Извините, может быть, я не был конкретен.

1 Ответ

0 голосов
/ 05 марта 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...