Bonjour, je travaille sur une application spring boot. J'ai développé une fonctionalité qui marche bien sans erreur. Cependant, quand je fais un test d'intégration avec le même code, j'ai l'erreur suivante:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
    org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: com.vol.domain.DimPartner.partnerOrderHeaders, could not initialize proxy - no Session
Voici la méthode où il y a une erreur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
 
    private  List<OrderHeaderClusterData> constructOrderHeaderClusterDataFromPartner(DimPartner dimPartner) {
    	List<OrderHeaderClusterData> orderHeaderClusterDatas = new ArrayList<OrderHeaderClusterData>();
    	OrderHeaderClusterData orderHeaderClusterData = new OrderHeaderClusterData();
    	Set<FactAssocPartnerOrderHeader> factAssocPartnerOrderHeaders = dimPartner.getPartnerOrderHeaders();
    	DimOrderHeader dimOrderHeader = null;
    	Set<FactOrderItem> factOrderItems = null;
    	FactOrderItemClusterData factOrderItemClusterData = null;
    	for (FactAssocPartnerOrderHeader factAssocPartnerOrderHeader : factAssocPartnerOrderHeaders) {
    		orderHeaderClusterData = new OrderHeaderClusterData();
    		dimOrderHeader = factAssocPartnerOrderHeader.getHeader();
    		orderHeaderClusterData.setOrderNo(dimOrderHeader.getOrderNo());
    		PartnerData partnerData = dimPartner != null ? ConvertDomainObjectToDataObjectAndReverse.convertDimPartnerToPartnerData(dimPartner) : null;
    		orderHeaderClusterData.setPartnerDatas(Arrays.asList(new PartnerData[]{partnerData}));
    		factOrderItems = dimOrderHeader.getItems();
    		List<FactOrderItemClusterData> factOrderItemClusterDatas = new ArrayList<FactOrderItemClusterData>();
    		for (FactOrderItem factOrderItem : factOrderItems) {
    			factOrderItemClusterData = new FactOrderItemClusterData();
    			factOrderItemClusterData.setItemNo(factOrderItem.getOrderItemNo());
    			factOrderItemClusterData.setStcPurchaseOrder(factOrderItem.getCustomerPoItemLevel());
    			factOrderItemClusterData.setStcPOItem(factOrderItem.getItemNoCustomerPoLevel());
    			factOrderItemClusterData.setDimensionData(factOrderItem.getDimension() != null ? ConvertDomainObjectToDataObjectAndReverse.convertDimDimensionToDimensionData(factOrderItem.getDimension()) : null);
    			factOrderItemClusterData.setMaterialData(factOrderItem.getMaterials() != null ? ConvertDomainObjectToDataObjectAndReverse.convertDimMaterialToMaterialData(factOrderItem.getMaterials()) : null);
    			factOrderItemClusterDatas.add(factOrderItemClusterData);
    		}
    		orderHeaderClusterData.setFactOrderItems(factOrderItemClusterDatas);
    		orderHeaderClusterDatas.add(orderHeaderClusterData);
    	}
    	return orderHeaderClusterDatas;
 
    }
L'erreur se produit à cette ligne:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
       for (FactAssocPartnerOrderHeader factAssocPartnerOrderHeader : factAssocPartnerOrderHeaders){

Mais la chose importante est le fait que ça marche sans erreur quand je teste la fonctionnalité alors que ça ne marche pas dans la partie test d'intégration. Il doit me manquer un détail de configuration pour les tests. Pouvez vous m'aider s'il vous plait ?