Eae pessoal , Bom dia !
Estou com um problema muito estranho no java…
É basicamente isso eu passo um objeto para esse método (OBS: Estou usando spring sts, com hibernate)
@RequestMapping(value = "saveMro", method = { RequestMethod.POST, RequestMethod.PUT })
@ResponseBody
public SimpleBaseModel saveMro(@RequestBody @Valid MroForm form, @LoggedUser Usraccess loggedUser) throws EmailException {
authorization.mustBeAdmin(loggedUser);
SimpleBaseModel sbm = new SimpleBaseModel();
Qstmro mro = new Qstmro();
Qstmro mroSave = form.getQstmro();
mro = repository.save(mroSave);
// Associa mro com priority
qstmroprioritypricerepository.deleteAllByQstMroPriorityPrice(mro.getQstmroseq());
List<Qstmropriorityprice> mroPriority = form.getMroPrioritys();
if (CollectionUtils.isNotEmpty(mroPriority)) {
qstmroprioritypricerepository.save(mroPriority);
}
//Associa mro com company
Set<Qstmroxcrmcompany> companies = form.getQstmroxcrmcompany();
if (CollectionUtils.isNotEmpty(companies)) {
for (Qstmroxcrmcompany qstmroxcrmcompany : companies) {
qstmroxcrmcompany.setQstmro(mro);
qstmroxcrmcompanyRepository.save(qstmroxcrmcompany);
}
}
sbm.addMessage("Operation executed successfully", "success", "Success");
return sbm;
}
Nesse método ele checa um form onde ele pega do objeto que vem do front e seta nos meus objetos , é isso…
if (mro.getQstcountry() != null && mro.getQstcountry().getQstcountryseq() != null)
finded.setQstcountry(qstcountryRepository.findOne(mro.getQstcountry().getQstcountryseq()));
else
finded.setQstcountry(qstcountry);
finded.setQstmroname(mro.getQstmroname());
finded.setQstmroshortname(mro.getQstmroshortname());
finded.setQstmroemail(mro.getQstmroemail());
finded.setQstmroactive(Boolean.TRUE.equals(mro.getQstmroactive()));
finded.setMroCompanies(mro.getMroCompanies());
finded.setQstmrosite(mro.getQstmrosite());
finded.setQstmropo(mro.getQstmropo());
finded.setQstmrophone(mro.getQstmrophone());
finded.setQstmrofax(mro.getQstmrofax());
finded.setQstmrocel(mro.getQstmrocel());
finded.setQstmroshipping(mro.getQstmroshipping());
finded.setQstmronotes(mro.getQstmronotes());
return finded;
O estranho é que quanto eu vou passando pelo breakpoints ele consegue executar meu método e salva mas se não é assim ele da esse erro:
Bom eu sei que na tabela as colunas onde salvam estão certas e o objeto também…
Se alguém tiver idéia ou quiser mais códigos, que eu seja mais específico, estou a disposição.
Abrass !