Как вставить в таблицу, созданную с помощью сопоставления в Spring-Roo? - PullRequest
0 голосов
/ 16 февраля 2012

Скажем, у меня есть две таблицы Person и Car, и я связываю эти две. Следующий код находится в Person.java

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

Я вижу таблицу, созданную CAR_PERSON, но класс не создан. Так как же мне добавить список автомобилей человеку. Я пошел, пока не получил нужный объект и не создал машины, но как мне добавить его в таблицу? Я попытался использовать person.merge после назначения набора автомобилей для объекта person, но в таблице не было записей. Я начал этот проект Spring 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);
}

1 Ответ

0 голосов
/ 16 февраля 2012

Я бы позволил Roo управлять самим сохранением, если вы не хотите добавлять что-либо дополнительное при сохранении. Я бы порекомендовал вам добавить полевые машины лицам, использующим Roo shell. Тогда Roo автоматически изменит controllers, чтобы добавить список машин человеку

...