@OneToMany
의 관계는 FabricRoll
과 FabricDefect
사이입니다. 나는 동료 FabricDefect
도로드Spring Data, JPA @OneToMany Spring Boot에서 작동하지 않는 지연 가져 오기
JpaRepository
기능
findall은()에 의해
FabricRoll
를 얻을 때@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "fabric_roll_id", referencedColumnName = "fabric_roll_id") private Set<FabricDefect> fabricDefects = new HashSet<>();
문제
입니다. :나는
getFabricDefect()
FabricRollServiceImpl 클래스
@Component public class FabricRollServiceImpl implements IFabricRollService{ @Autowired FabricRollRepository fabricRollRepository; @Transactional(propagation = Propagation.REQUIRED) @Override public List<FabricRoll> getAllFabricRoll() { FabricRoll fabricRoll1 = new FabricRoll(); fabricRoll1.setBatchNo("34344"); fabricRoll1.setLotNo("425"); fabricRoll1.setPoNo("42"); fabricRoll1.setRollLength(2343); fabricRoll1.setRollNo("356"); fabricRoll1.setRollWidth(60); fabricRoll1.setStyleNo("354"); FabricDefect fabricDefect = new FabricDefect(); fabricDefect.setDefectNote("note"); fabricDefect.setDefectPoint(3); fabricDefect.setSegment(3); fabricDefect.setYard(42); Set<FabricDefect> fabricDefects = new HashSet<>(); fabricDefects.add(fabricDefect); fabricRoll1.setFabricDefects(fabricDefects); addFabricRoll(fabricRoll1); FabricRoll fabricRoll = null; return fabricRollRepository.findAll(); } @Override public void addFabricRoll(FabricRoll fabricRoll) { fabricRollRepository.save(fabricRoll); }
}
브레이크 포인트 함수를 호출하는 경우에만
FabricRoll
및FabricDefect
가로드되어야로드 할
이것은 OneToMany입니다. 왜 JoinColumn을 사용 했습니까? –
은'FabricDefect' 클래스에있는 것을 보여줍니다. – Manza
'@ Transactional '주석을 없애면 컬렉션이로드되지 않았 음을 의미하는'LazyInitializationException'이 표시됩니다. – Manza