내가 스프링 데이터 JPA와 jHipster을 사용하여 다음과 같은 방법이 있습니다 마지막 줄에서(전파 = Propagation.REQUIRES_NEW)
@Transactional(propagation=Propagation.REQUIRES_NEW)
public void doSomeWork(EntityA entityA) {
// some code
List<EntityB> entityBList = new ArrayList<EntityB>();
entityBList.add(new EntityB());
entityA.addAllEntityB(entityBList);
}
을 나는 org.hibernate.LazyInitializationException
excption를 얻을 수있는 나는 이해하지 못한다.
- 왜 메서드가 자체 트랜잭션으로 실행 되더라도이 예외가 발생합니까?
- 세션이 아직 열려 있어도 목록을 지연로드해야합니까?
왜 REQUIRES_NEW를 사용하십니까? –
REQUIRE_NEW를 사용하기 때문에이 메서드는 루프의 다른 클래스에서 호출되므로 각 반복 후에 엔티티가 유지됩니다. 루프에서 하나의 트랜잭션이 실패하는 경우 이전 반복을 이미 유지하려고합니다. – Thailer