错误:无法初始化代理 - 无会话:Spring

问题描述 投票:0回答:1

请帮助我解决我在更新“Administarteur”时遇到的问题!

enter image description here

以下是课程详情!:

管理实体

公共类 AdministrationEntity {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private long idAdmin;

@Column(unique = true, nullable = false, length = 10)
private String cin;

@Column(nullable = false)
private String nomComplet;

@OneToMany(mappedBy = "administration",cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY)
private List<FournisseurEntity> fournisseurLis = new ArrayList<>();

@OneToMany(mappedBy = "administration",cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER)
private List<ClientEntity> clientList = new ArrayList<>();

@OneToOne(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.LAZY)
private UtilisateurEntity utilisateur;

管理服务Impl

@Override
public String update(AdministrationDto administrationDto) {
    LOGGER.debug("Start methode update: {}",administrationDto);
    try {
        AdministrationDto admin = administrationMapper.administrationEntityToDto(administrationRepo.findById(administrationDto.getIdAdmin()).orElse(null));
        if(admin == null){
            LOGGER.debug("adminDto is null");
            return "Cette Administrateur {"+administrationDto.getIdAdmin()+"} n'exist pas!";
        }else{
            LOGGER.debug("adminDto not null");
            administrationRepo.save(administrationMapper.administrationDtoToEntity(administrationDto));
            return administrationDto.getCin();

        }
    } catch (Exception e) {
        throw new RuntimeException(e.getMessage());
    }
}
java spring-boot spring-data-jpa spring-data dto
1个回答
0
投票

有多个问题使任何人都很难帮助您

  • 该服务如何称呼?
  • 请在问题中输入代码,而不是附加图像
  • 非英语变量/注释/日志使其更难理解

话虽这么说,用

@Transactional
中的
org.springframework.transaction.annotation
注释服务方法可以解决问题。

这将确保您在方法中时始终有可用的会话。这样,当您获取延迟初始化的集合(

utilisateur
)时,它不应该失败(同样,取决于您如何调用该方法)。

© www.soinside.com 2019 - 2024. All rights reserved.