Метод сохранения Java получает только идентификатор, а остальные атрибуты имеют значение NULL. - PullRequest
0 голосов
/ 20 сентября 2018

Я разрабатываю приложение на Java с EJB и JSF (простыми лицами).Здесь моя проблема.В моем приложении есть метод item save.Я хотел бы получить данные из таблицы File, но при отладке я вижу, что метод извлекает только идентификатор из формы, а остальные атрибуты возвращают ноль.где я что то не так сделалзаранее спасибо.

public String savedol(ActionEvent actionEvent) {
    FacesContext context = FacesContext.getCurrentInstance();
    try {
        Long idFile = (Long) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("idFile");
        if (this.doleance.getId() == null) {
            idFile = file.getId();
            this.fiche.setId(idFile );
            this.fiche.getId();
            this.fiche.getCustumer();
            this.fiche.getCustumer().getCountry();
            doleance.setFiche(fiche);
            this.complaintsDetailsService.saveOne(doleance);
            context.addMessage(null, new FacesMessage(Constante.SAVE_SUCCESSFUL));
            this.complaint= new ComplaintsDetails();
            this.file= new File();
            return "/fileComplaints/complaints.xhtml?faces-redirect=true";
        } else {
            this.complaintsDetailsService.updateOne(complaint);
            this.file = new File();
            context.addMessage(null, new FacesMessage(Constante.MODIF_SUCCESSFUL));
        }
        return "/fileComplaints/complaints.xhtml?faces-redirect=true";
    } catch (Exception e) {
        e.getMessage();
        context.addMessage(null, new FacesMessage(Constante.SAVE_UNDONE));
        this.complaintsDetailsService.updateOne(doleance);
        this.fileService.updateOne(fiche);
    }
    this.file = new File();
    return null;
}

1 Ответ

0 голосов
/ 20 сентября 2018

Я действительно нашел ошибку.Я сделал интенсификацию значений с помощью сервиса, и теперь он получает весь класс в параметре следующим образом.

public String savedol(ActionEvent actionEvent) {
FacesContext context = FacesContext.getCurrentInstance();
try {
    Long idFile = (Long) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("idFile ");
        this.file = this.ficheService.find(idFile );
        doleance.setFile(file);
        doleance.setClient(file.getCustumer());
        doleance.setPays(file.getCustumer().getCountry());
        this.complaintsDetailsService.saveOne(doleance);
        context.addMessage(null, new FacesMessage(Constante.SAVE_SUCCESSFUL));
        this.complaint= new ComplaintsDetails();
        this.file= new File();
        return "/fileComplaints/complaints.xhtml?faces-redirect=true";
    } else {
        this.complaintsDetailsService.updateOne(complaint);
        this.file = new File();
        context.addMessage(null, new FacesMessage(Constante.MODIF_SUCCESSFUL));
    }
    return "/fileComplaints/complaints.xhtml?faces-redirect=true";
} catch (Exception e) {
    e.getMessage();
    context.addMessage(null, new FacesMessage(Constante.SAVE_UNDONE));
    this.complaintsDetailsService.updateOne(doleance);
    this.fileService.updateOne(fiche);
}
this.file = new File();
return null;}

Теперь он сохраняет значения клиента и восстановленных стран из файла.с этим this.file = this.ficheService.find(idFile );

Если это может помочь кому-то еще.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...