2016-09-02 9 views
0

남자! 복합 형 목록으로 엔티티를 어떻게 저장할 수 있습니까? 예를 들어 다음과 같습니다.스프링 양식 persist 복합 개체 목록

@Entity 
@Table(name = "distributor") 
public class Distributor { 
@Id 
@GeneratedValue(strategy= GenerationType.IDENTITY) 
@Column(name = "id") 
private Long id; 

@Column(name = "name") 
private String name; 

@Column(name = "city") 
private String city; 

@Column(name = "address") 
private String address; 


@OneToMany(cascade = CascadeType.ALL) 
List<Exhibitor> exhibitor = new ArrayList<Exhibitor>(); 

@OneToMany(cascade = CascadeType.ALL) 
List<Merchandiser> merchandiser = new ArrayList<Merchandiser>(); 

.getter 및 setters.

제출 컨트롤러 : 업데이트가 엔티티 (머천다이저 또는 전시 또는 대리점이 업데이트 될 때)마다입니다

@RequestMapping(value = "submission", method = RequestMethod.GET) 
    public String showSubmission(Model model) { 

    Query Exhibitor = sessionFactory.getCurrentSession().createQuery("from Exhibitor"); 
    List<Merchandiser> listExhibitor = Exhibitor.getResultList(); 
    model.addAttribute("listOfExhibitors", listExhibitor); 

    Query Merchandisers = sessionFactory.getCurrentSession().createQuery("from Merchandiser"); 
    List<Merchandiser> listMerchandisers = Merchandisers.getResultList(); 
    model.addAttribute("listMerchandisers", listMerchandisers); 

    Query query = sessionFactory.getCurrentSession().createQuery("from Distributor"); 
    List<Distributor> listDistributors = query.getResultList(); 
    model.addAttribute("listDistributors", listDistributors); 

    model.addAttribute("submission", new Distributor()); 

    return "submission"; 
} 

@RequestMapping(value = "submission", method = RequestMethod.POST) 
public String show(Model model, @ModelAttribute("submission") Distributor submission, BindingResult error) { 


    sessionFactory.getCurrentSession().save(submission); 

    /*Distributor distributor = sessionFactory.getCurrentSession().get(Distributor.class, 1L);*/ 


    return "redirect:submission"; 
} 

및 JSP는 JSP는 지금 노력하고 있습니다 만, 내가 어떻게 업데이트 (또는)를 넣어 수 있습니다 in 출품자 목록 표시 = new ArrayList();은 JSP 양식에서 신청 : 그것은 List<Exhibitor> listExhibitor = Exhibitor.getResultList();해야

<form:select path="name"> 
     <c:forEach var="distributor" items="${listDistributors}" > 
      <form:option value="${distributor.id}">${distributor.name}</form:option> 
     </c:forEach> 
    </form:select> 

    <form:select path="exhibitor"> 
     <c:forEach var="exhibitors" items="${listOfExhibitors}" > 
      <form:option value="${exhibitors.id}">${exhibitors.name}</form:option> 
     </c:forEach> 

    </form:select> 
<input type="submit" value="Submission" /> 
</form:form> 

답변

0

먼저 나는 코드

List<Merchandiser> listExhibitor = Exhibitor.getResultList();에서 오류를 참조하십시오.

둘째, 변수 명명 규칙을 따르지 않아도됩니다. 변수 이름은 항상 작은 문자로 시작해야합니다.

셋째, 귀하의 JSP가 저에게 맞지 않습니다. 전체 JSP 페이지를 게시하십시오. 한 번에 하나의 디스트리뷰터를 저장할 때 디스트리뷰터 목록을 추가하는 이유는 무엇입니까?