【问题标题】:Table inserting as NULL values when using springboot with spring Data JPA in save method在保存方法中将springboot与spring Data JPA一起使用时表插入为NULL值
【发布时间】:2017-09-28 05:17:53
【问题描述】:

我正在尝试将表单数据保存到数据库表驱动程序中。并使用 springboot 和 spring Data JPA 。通过使用 .save() 方法,数据库作为空值插入。但没有显示任何错误。我在下面添加我的控制器文件,

DriverRepository driverRepo;


@RequestMapping(value="/driverSubmit", method=RequestMethod.POST)
public ModelAndView driverSubmit(@ModelAttribute Driver driver, Model model) 
    {
        model.addAttribute("driver", driver);
        driverRepo.save(driver);
        return new ModelAndView("redirect:/dHome"); //to home page after insertoin 
    }

【问题讨论】:

  • 你检查过驱动对象是否有值吗?插入为空是什么意思?您将在数据库中保存一个新驱动程序但不是值?请详细描述您的问题。
  • 我正在提交表单。通过执行“/driverSubmit”操作。当我通过@RequestParam 方法访问值时,它会正常运行。但是我需要上面的方法来接收提交的对象并且需要保存到数据库中
  • 我已经知道你在做什么了。但是您是否通过调试检查dirver 是否真的映射了您发送的值?再一次-> 插入为空是什么意思?您将在 db 中保存一个新驱动程序而不是值?
  • 更改了标签,因为从 cmets 看来很明显它与未解析为驱动程序对象的表单提交有关
  • 提示:实体的属性名称为nameage等,而表单字段的名称为dnamedage等。

标签: spring spring-mvc


【解决方案1】:

首先尝试从 swagger 或 postman 测试您的 api,并首先调试代码,无论您是否在驱动程序对象中获取值。如果您在驱动程序中正确获取数据,那么它一定是来自 UI 的表单请求的一些错误。我猜在 db 中创建了一个驱动程序对象的条目,但所有值都根据它们的默认初始值保存。

【讨论】:

    猜你喜欢
    • 2014-10-21
    • 1970-01-01
    • 2014-03-10
    • 1970-01-01
    • 2017-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    相关资源
    最近更新 更多