2012-02-16 2 views
0

말, 두 테이블의 Person과 Car가 있고이 두 테이블을 연결합니다. 다음 코드는 Person.java에 있습니다.Spring-Roo에서 매핑을 통해 생성 된 테이블에 어떻게 삽입합니까?

@ManyToMany(cascade = CascadeType.ALL, mappedBy = "persons") 
private Set<Car> cars= new HashSet<Car>(); 

CAR_PERSON이 (가) 생성 된 테이블을 볼 수 있지만 생성 된 클래스가 없습니다. 그래서 나는 사람에게 자동차 목록을 어떻게 추가 할 것인가? 필요한 사람 객체를 얻고 자동차를 만들 때까지 갔지만 어떻게 테이블에 추가해야합니까? Person 객체에 자동차 집합을 할당 한 후에 person.merge를 사용했지만 필드에 항목이 없었습니다. 나는이 어제 봄 Roo 프로젝트를 시작 했으므로 내 무지를 용서해주십시오. :) 다음은 자동차를 사람과 연결하기 위해 작성한 코드입니다. 이것은 내가 Roo가 관리 할 것 PersonController

@RequestMapping(value ="/saveCars", method = RequestMethod.POST) 
@ResponseBody 
public String saveCars(@RequestParam("personId")Long personId,        @RequestParam("cars") String incomingCars){ 
    Map<String, Object> response = new HashMap<String, Object>(); 
    try{   
    ...  
      for(int i=0 ; i<temp.length ; i++){ 
       carID = Long.parseLong(temp[i]); 
       cars.add(Product.findCar(carID)); 
      } 
      person.setCars(cars); 
      person.merge(); 
     } 
     LOG.debug("cars successfully added to questionnaire"); 
     response.put("message", "success"); 
    } 
    return new JSONSerializer().exclude("*.class").deepSerialize(response); 
} 

답변

0

에있는 당신이 저장할 때 여분의 아무것도 추가하지 않으려면 자신을 절약. Roo shell을 사용하는 사람에게 필드 카를 추가하는 것이 좋습니다. 그런 다음 Roo은 자동으로 controllers을 수정하여 차량 목록을 사람에게 추가합니다.

+0

그럼 매핑은 roo를 사용하여 작성되었으며 다른 테이블 Person_Car이 생성 된 방법입니다. 그러나이 테이블에 값을 추가하는 방법을 잘 모르겠습니다. 도와 주시겠습니까? 아니면 저에게 자원을 가르쳐주십시오. 감사합니다. –

+0

Roo를 사용하여 만든 프로젝트 (https://github.com/sapandiwakar/PsyTest/blob/master/src/main/java/ch/epfl/psytest/domain/Experiment.java)를보십시오. –

관련 문제