Java Spring roo Hibernate更新条目多对多映射

Java Spring roo Hibernate更新条目多对多映射,java,hibernate,spring,spring-mvc,spring-roo,Java,Hibernate,Spring,Spring Mvc,Spring Roo,我在SpringRoo中创建了两个实体Person和car之间的多对多映射,正如预期的那样,我看到了一个新的表Person\uCar。下面是Person.java中的代码 @ManyToMany(cascade = CascadeType.ALL, mappedBy = "persons") private Set<Car> cars= new HashSet<Car>(); 我看到person表中反映的变化。我做错了什么?谢谢尝试将@Transactional(rol

我在SpringRoo中创建了两个实体Person和car之间的多对多映射,正如预期的那样,我看到了一个新的表Person\uCar。下面是Person.java中的代码

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

我看到person表中反映的变化。我做错了什么?谢谢

尝试将
@Transactional(rollback=false)
添加到控制器方法中


rollback=false
是默认值,因此您可以跳过它,只剩下
@Transactional

尝试将
@Transactional(rollback=false)
添加到控制器方法中

rollback=false
是默认值,因此您可以跳过它,只剩下
@Transactional

@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{        
...   
Person person = Person.findPerson(personId);  
Set<Car> cars = person.getCars();
        for(int i=0 ; i<temp.length ; i++){
            carID = Long.parseLong(temp[i]);
            cars.add(Car.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);
}
Person person = Person.findPerson(personId);
person.setName("Jonathan");
person.merge();