无需交易即可获取数据
下面是带有spring事务的示例代码片段。 我的问题: – 是否会使用相同的会话来获取第1行和第2行的实体?
我的理解: – 我相信是的,春季交易将确保这一点
@Transactional() public void method1( //fetch entity1 from dao with the help of entity manager//line 1 // fetch entity2 from dao with the help of entity manager//line 2 // now I fetch thru method entity.fetchLazyField()// line 3 )
现在,如果我删除@Transactional()
。 我相信一旦获取entity1就会关闭会话,并且将为line2使用单独的会话。 对 ?
在第3行(一旦@Transactional
被删除),我是否能够获取数据或会话被关闭应该抛出exception?
我没有粘贴大的xml配置和完整的dao代码,只是用实体管理器获取etity。 事务传播属性是Required
是否会使用相同的会话来获取第1行和第2行的实体?
是的,你是对的(假设你没有使用PersistenceContextType.EXTENDED )
现在,如果我删除@Transactional()。 我相信一旦获取entity1就会关闭会话,并且将为line2使用单独的会话。 对 ?
我不这么认为,但检查一下 这个 。