Я вызываю следующий метод в обслуживании из контроллера, где нет @Transnational в верхней части метода:
@Override
public void test1(Pageable pageable) {
{
Query query =entityManager.createQuery("SELECT U from User U",User.class);
List<User> users=query.getResultList();
User user=new User();
user.setName("hello");
user.setLastName("hello");
entityManager.persist(user);
}
}
Я был смущен, что это сработало, и результат фиксируется в конце метода,EntityManager, введенный в службу с:
@PersistenceContext
private EntityManager entityManager;
Может кто-нибудь объяснить, как транзакция создается по методу без транснационального?
обновление: плохо, я использовал @Transactional на интерфейсене замечая этого.но как работает запрос на выборку?когда создается сессия?spring.jpa.open-in-view отключен