Está utilizando el envío de formularios para guardar datos complejos que son mucho más complicados en lugar de eso, escriba java script y guarde su información en el objeto javascript y envíe la cadena json al controlador para guardar con la lista.
Por ahora, con su implementación, la solución hacky simple sería esta.
1) implementación de saveTimeTable con lo siguiente
@RequestMapping(value="/timeTableMapping/saveAll",method=RequestMethod.POST)public String saveTimeTable(@ModelAttribute("timeTableMapping") TimeTableMapping timeTableMapping){
String[] dayArray = timeTableMapping.getDay().split(",");
String[] subArray = timeTableMapping.getSubject_code().split(",");
List<TimeTableMapping> tempList = new ArrayList<>();
for(int i = 0 ; i < dayArray.length; i++) {
TimeTableMapping tempTimeTable = new TimeTableMapping();
tempTimeTable.setTime_table_code(timeTableMapping.getTime_table_code());
tempTimeTable.setDay(dayArray[i]);
tempTimeTable.setSubject_code(subArray[i]);
tempTimeTable.setStart(timeTableMapping.getStart());
tempTimeTable.setEnd(timeTableMapping.getEnd());
tempList.add(tempTimeTable);
}
timeTableMappingDAO.saveAll(tempList);
return "redirect:/timeTableMapping";
}