如何插入通过Spring-Roo中的映射生成的表?

时间:2012-02-16 09:14:30

标签: java spring-roo

说,我有两张桌子Person和Car,我把这两张桌子联系起来。以下代码位于Person.java

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

我看到一个表创建了CAR_PERSON,但没有创建任何类。那么我如何向一个人添加汽车列表呢。我已经离开,直到获得所需的人物对象和创建汽车,但我如何将其添加到表中。在将一组汽车分配给person对象后,我尝试使用person.merge,但表中没有条目。 我昨天就开始了这个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 :(得分:0)

如果您不想在保存时添加任何额外内容,我会让Roo管理保存。我建议您使用Roo shell向现场车辆添加。然后Roo会自动修改controllers以将汽车列表添加到人