Spring MVC - POST请求后的奇怪重定向

时间:2015-11-27 12:46:31

标签: java spring

早上好。

我的控制器有这种方法可以保存到数据库中

@RequestMapping(value = { path+"/new" } , method = RequestMethod.POST)
    public String saveLight(@Valid Luce luce, BindingResult result, ModelMap model, final RedirectAttributes redirectAttributes) {

        if (result.hasErrors()) {
            return path + "/luce";
        }
        // Add message to flash scope
        redirectAttributes.addFlashAttribute("css", "success");
        redirectAttributes.addFlashAttribute("msg", "Luce aggiunta correttamente");
        luceService.saveLuci(luce);
        return "redirect:/"+path+"/"+luce.getIdLuce();
        }

getIdLuce()是Luce模型的吸气剂。当我提交表单时,信息会正确地发送到数据库,但我被重定向到/ lights / 0,因为luce.getIdLuce()返回0(或null)值...

我没有保存idLuce的输入值,它是一个简单的自动增量值

@NotNull
@Id
@Column(name="id_luce", unique = true, nullable = false)
public Integer getIdLuce() {
    return idLuce;
}

我做错了什么?感谢

1 个答案:

答案 0 :(得分:1)

使用@GeneratedValue注释您的实体对象。这样,当您持久保存对象时,将设置属性'idLuce'。

@NotNull
@Id
@GeneratedValue
@Column(name="id_luce", unique = true, nullable = false)
public Integer getIdLuce() {
    return idLuce;
}