Java 在循环实体中进行不同的提交
我必须在hibernate中插入4个表,在其中两个表中,我必须在一个循环中插入n条记录,但它只将我提交到最后一条。对于bbdd中的取代基存储库和取代基RUTAPTORepository表,我只得到最后一条记录 你知道如何对它们进行交易吗 我附上密码Java 在循环实体中进行不同的提交,java,hibernate,spring-boot,Java,Hibernate,Spring Boot,我必须在hibernate中插入4个表,在其中两个表中,我必须在一个循环中插入n条记录,但它只将我提交到最后一条。对于bbdd中的取代基存储库和取代基RUTAPTORepository表,我只得到最后一条记录 你知道如何对它们进行交易吗 我附上密码 @Transactional @Override public Long createRoute(CustomUser user, InputModalCrearRutaData inputRouteData) { RouteDataBean
@Transactional
@Override
public Long createRoute(CustomUser user, InputModalCrearRutaData inputRouteData) {
RouteDataBean newRoute = new RouteDataBean();
Long idRuta = null;
if (inputRouteData == null)
return null;
//Tenemos que insertar en varias tablas toda la info de las rutas
SustRuta newSustRuta = new SustRuta();
SustRutaPlan newSustRutaPlan = new SustRutaPlan();
SustRutaDia newSustRutaDia = new SustRutaDia();
SustRelRutaPto newSustRelRutaPto = new SustRelRutaPto();
SustPersJur newSustPersJur = new SustPersJur();
// Campos sust_ruta
newSustRuta.setTipoRuta(inputRouteData.getTipoRuta());
newSustRuta.setFAltaReg(new Date());
newSustRuta.setFActzReg(new Date());
newSustRuta.setFBajaReg(null);
newSustRuta.setIdUsuActz(user.getUserId());
idRuta = sustRutaRepository.save(newSustRuta).getIdRuta();
if(idRuta != null) {
//Campos sust_ruta_plan
newSustRutaPlan.setIdRutaPlan(idRuta);
newSustRutaPlan.setNomRutaPlan(inputRouteData.getNombreRuta());
newSustRutaPlan.setUngesId(inputRouteData.getUngesId() );
newSustRutaPlan.setDesRuta(inputRouteData.getDesRuta() );
newSustRutaPlan.setFreqRuta(inputRouteData.getFreqRuta() );
newSustRutaPlan.setPerRuta(inputRouteData.getPerRuta() );
newSustRutaPlan.setFIniRuta(inputRouteData.getFIniRuta() );
newSustRutaPlan.setMesIni(inputRouteData.getMesIni() );
newSustRutaPlan.setMesFin(inputRouteData.getMesFin() );
newSustRutaPlan.setIdOperRuta(inputRouteData.getIdOperRuta() );
newSustRutaPlan.setCodEstRuta(inputRouteData.getCodEstRuta() );
newSustRutaPlan.setFEstRuta(new Date() );
newSustRutaPlan.setFFinVig(inputRouteData.getFFinVig() );
newSustRutaPlan.setFAltaReg(new Date() );
newSustRutaPlan.setFActzReg(new Date() );
newSustRutaPlan.setFBajaReg(null );
newSustRutaPlan.setIdUsuActz(user.getUserId() );
sustRutaPlanRepository.save(newSustRutaPlan);
//Campos sust_ruta_dia (metemos un registro por cada dia
for(int i =0; i < inputRouteData.getDias().size(); i++ ) {
newSustRutaDia.setIdRuta(idRuta);
newSustRutaDia.setIdDia(inputRouteData.getDias().get(i) );
newSustRutaDia.setFAltaReg(new Date() );
newSustRutaDia.setFActzReg(new Date() );
newSustRutaDia.setFBajaReg(null );
newSustRutaDia.setIdUsuActz(user.getUserId() );
sustRutaDiaRepository.save(newSustRutaDia);
newSustRutaDia = new SustRutaDia();
}
//Campos sust_rel_ruta_pto
for(int i=0; i<inputRouteData.getListaContenedores().size(); i++) {
newSustRelRutaPto.setIdRuta(idRuta);
newSustRelRutaPto.setUngesId(inputRouteData.getListaContenedores().get(i).getUngesId());
newSustRelRutaPto.setCodIneMuni(inputRouteData.getListaContenedores().get(i).getCdMun());
newSustRelRutaPto.setCodCont(inputRouteData.getListaContenedores().get(i).getCodCont());
newSustRelRutaPto.setNumOrdPto(inputRouteData.getListaContenedores().get(i).getOrden());
newSustRelRutaPto.setCodEstRutpto(activa);
newSustRelRutaPto.setFEstRutpto(new Date());
newSustRelRutaPto.setFAltaReg(new Date() );
newSustRelRutaPto.setFActzReg(new Date() );
newSustRelRutaPto.setFBajaReg(null );
newSustRelRutaPto.setIdUsuActz(user.getUserId() );
sustRelRutaPtoRepository.save(newSustRelRutaPto);
newSustRelRutaPto = new SustRelRutaPto();
}
}
return idRuta;
}
@Transactional
@凌驾
公共长createRoute(CustomUser用户,InputModalCrarutadata inputRouteData){
RouteDataBean newRoute=新RouteDataBean();
长idRuta=null;
如果(inputRouteData==null)
返回null;
//这是一个关于信息的表格
SustRuta newSustRuta=新的SustRuta();
SustRutaPlan newSustRutaPlan=新的SustRutaPlan();
SustRutaDia newSustRutaDia=新的SustRutaDia();
SustRelRutaPto newsusterlrutapto=新的SustRelRutaPto();
SustPersJur NEWSTUSTPERSJUR=新的SustPersJur();
//坎波斯苏斯特鲁塔酒店
newSustRuta.setTipoRuta(inputRouteData.getTipoRuta());
newSustRuta.setFAltaReg(新日期());
newSustRuta.setFActzReg(新日期());
newSustRuta.setFBajaReg(null);
setIdUsuActz(user.getUserId());
idRuta=sustRutaRepository.save(newSustRuta.getIdRuta();
如果(idRuta!=null){
//坎波斯苏斯特鲁塔计划
newSustRutaPlan.setIdRutaPlan(idRuta);
setNomRutaPlan(inputRouteData.getNombreRuta());
newSustRutaPlan.setUngesId(inputRouteData.getUngesId());
setDesRuta(inputRouteData.getDesRuta());
setFreqRuta(inputRouteData.getFreqRuta());
setPerRuta(inputRouteData.getPerRuta());
newSustRutaPlan.setFIniRuta(inputRouteData.getFIniRuta());
setMesIni(inputRouteData.getMesIni());
setMesFin(inputRouteData.getMesFin());
setIdOperRuta(inputRouteData.getIdOperRuta());
setCodEstRuta(inputRouteData.getCodEstRuta());
setFEstRuta(新日期());
setFFinVig(inputRouteData.getFFinVig());
newSustRutaPlan.setFAltaReg(新日期());
newSustRutaPlan.setFActzReg(新日期());
newSustRutaPlan.setFBajaReg(null);
newSustRutaPlan.setIdUsuActz(user.getUserId());
sustRutaPlanRepository.save(newSustRutaPlan);
//坎波斯大学(注册数据)
对于(inti=0;i 对于(int i=0;我投票将这个问题作为离题题结束,因为它是在西班牙的一个堆栈溢出,este sitio acepta respuestas en inglés.?Podría por赞成传统?Alternativiamante,puede Encentral una mejor respuesta en español en es.stackoverflow.comI投票将这个问题作为离题结束,因为它是在西班牙的enido a Stack Overflow,este sitio acepta respuestas en inglés.?Podría poréa poréa poréa poréa favor traducirlo?Alternativamente,puede Encentral una mejor respuesta en español en es.stackoverflow.com