【发布时间】:2018-10-23 10:00:45
【问题描述】:
我正在从控制器调用以下服务方法,其中方法顶部没有@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);
}
}
我很困惑它是否有效,结果在方法结束时提交,实体管理器注入服务:
@PersistenceContext
private EntityManager entityManager;
谁能解释如何在没有跨国的情况下创建交易?
更新: 我的错误是我在界面上使用@Transactional 而没有注意到它。但是选择查询如何工作?会话何时创建? spring.jpa.open-in-view 被禁用
【问题讨论】:
标签: spring hibernate spring-boot jpa hibernate-entitymanager