@Override protected ModelAndView onSubmit( HttpServletRequest request, HttpServletResponse response, Object command, BindException errors) throws ServletException, Exception { ArchiveDAO adao = (ArchiveDAO) command; if (request.getParameter("male_bg_id_new") != null) { // This is a new entry for the table backgrounds String newBGName = request.getParameter("male_bg_id_new"); List bd = bm.getBGDAOByName(newBGName); if (bd.size() == 0) { // OK lets add a new one BackgroundDAO bDAO = adao.getStrainsDAO().getBackgroundDAO(); // . new BackgroundDAO(); bDAO.setName(newBGName); bm.save(bDAO); // System.out.println("WOOHOO== " + bDAO.getId_bg() + " BGNAME= " + bDAO.getName()); adao.setMale_bg_id("" + bDAO.getId_bg() + ""); // Now regenerate list createList(); } } if (request.getParameter("female_bg_id_new") != null) { // This is a new entry for the table backgrounds String newBGName = request.getParameter("female_bg_id_new"); List bd = bm.getBGDAOByName(newBGName); if (bd.size() == 0) { // OK lets add a new one BackgroundDAO bDAO = adao.getStrainsDAO().getBackgroundDAO(); // new BackgroundDAO(); bDAO.setName(newBGName); bm.save(bDAO); // System.out.println("WOOHOO== " + bDAO.getId_bg() + " BGNAME= " + bDAO.getName()); adao.setFemale_bg_id("" + bDAO.getId_bg() + ""); // Now regenerate list createList(); } } am.save(adao); System.out.println("saved"); request .getSession() .setAttribute( "message", getMessageSourceAccessor().getMessage("Message", "Your update submitted successfully")); return new ModelAndView(getSuccessView()); }