Java 在循环实体中进行不同的提交

Java 在循环实体中进行不同的提交,java,hibernate,spring-boot,Java,Hibernate,Spring Boot,我必须在hibernate中插入4个表,在其中两个表中,我必须在一个循环中插入n条记录,但它只将我提交到最后一条。对于bbdd中的取代基存储库和取代基RUTAPTORepository表,我只得到最后一条记录 你知道如何对它们进行交易吗 我附上密码 @Transactional @Override public Long createRoute(CustomUser user, InputModalCrearRutaData inputRouteData) { RouteDataBean

我必须在hibernate中插入4个表,在其中两个表中,我必须在一个循环中插入n条记录,但它只将我提交到最后一条。对于bbdd中的取代基存储库和取代基RUTAPTORepository表,我只得到最后一条记录

你知道如何对它们进行交易吗

我附上密码

@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