首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >错误: java.lang.IllegalArgumentException:给定的id不能为空!- Spring,Mysql

错误: java.lang.IllegalArgumentException:给定的id不能为空!- Spring,Mysql
EN

Stack Overflow用户
提问于 2020-08-15 05:47:53
回答 1查看 1.9K关注 0票数 2

当客户端将数据插入sample_category表时,我得到了这个错误。这是我的控制器方法。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@PostMapping("/request")
    public SampleRequest createRequest(@Valid @RequestBody SampleRequest sampleRequest) throws ResourceNotFoundException{

        User user = userRepository.findById(sampleRequest.getUser().getId())
                .orElseThrow(() -> new ResourceNotFoundException("User Not Found"));

        Category category = categoryRepository.findById(sampleRequest.getCategory().getId())
                .orElseThrow(()-> new ResourceNotFoundException("Category Not Found"));

        sampleRequest.setUser(user);
        sampleRequest.setCategory(category);

        return sampleRequestRepository.save(sampleRequest);

    }

这是模型类。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@Entity
@Table(name = "sample_requests")
public class SampleRequest extends DateAudit {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NotNull
    private String title;


    @ManyToOne(fetch = FetchType.LAZY, optional = false)
    @JoinColumn(name = "user_id", nullable = false)
    @OnDelete(action = OnDeleteAction.CASCADE)
    private User user;

    @ManyToOne(fetch = FetchType.LAZY,optional = false)
    @JoinColumn(name = "category_id", nullable = false)
    @OnDelete(action = OnDeleteAction.CASCADE)
    private Category category;


    private String description;

    private Boolean approved;

    @NotNull
    private Long quantity;

// Getters和setter

这是客户端的请求。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    "id" : "1",
    "title" : "Test Title",
    "user": {
        "user" : 7
    },
    "category": {
        "category" : 1
    },
    "description" : "test description",
    "quantity" : "2"
    
}

我需要添加新的样例请求。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-15 06:05:41

在您的JSON中,您不是在id节点中发送id。这就是为什么用户和类别对象的id是空的。

findById只接受非空id,否则抛出退出(参考)。JSON应该像

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{
    ...
    "user": {
        "id" : 7
    },
    "category": {
        "id" : 1
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63426746

复制
相关文章
应用架构之择
企鹅号小编
2018/01/08
1.5K0
应用架构之择
择时荟萃(九):长周期的择时策略
择时荟萃第九篇,之前的报告多为短周期的择时,今天分享两个长周期的择时策略,一个是月频,一个是半年频,长短叠加效果更好。作者来自海外一家对冲基金。获取原文请在后台回复“择时9”。
量化小白
2023/03/19
2380
择时荟萃(九):长周期的择时策略
jquery在iframe中选中父元素节点
我们在使用如layui的layer弹窗或者在页面上用别的方式打开的iframe中可能会要获取到父页面的某个元素
阿超
2022/08/17
1.8K0
小程序拍摄或者在相册中选择图片
wx.chooseImage(Object object) :从本地相册选择图片或使用相机拍照。
德顺
2019/11/13
6210
因子择时【2】
摘要:尽管单一因子在长期时间内能够获得溢价,但它们在短时间内的回报是可变的。本文为三种不同类型---长期战略、部分战术、灵活战术的机构投资者提供了不同的因子配置方法,对于长期战略投资者,组合100%执行既定的战略配置计划,对于部分战术投资者,执行70%既定配置,30%灵活选择的因子配置方法;对于灵活战术的投资者,100%执行因子选择的配置方法。对于如何选择因子,本文通过考察1)宏观周期 2)因子动量 3)因子估值 4)市场情绪 四个方面在因子间进行选择。最后,本文还讨论了用这四个选择因子的方法在自下而上构造的组合和自上而下构造的组合表现。
量化小白
2021/05/08
1.1K0
因子择时【2】
择时荟萃(八):A股的日内动量择时
这篇报告和上一篇有一些相似,差异在于这篇以A股主要研究对象,使用16年的A股数据和3年的美股数据进行研究,更具有参考意义。
量化小白
2023/03/19
6070
择时荟萃(八):A股的日内动量择时
择时荟萃(三):择时策略的溢出效应
择时系列第三篇,分享一篇来自HSBC的一篇论文。作者讨论了趋势策略的溢出效应,并基于溢出效应构建交易策略,改进传统的择时策略。
量化小白
2023/03/19
4610
择时荟萃(三):择时策略的溢出效应
C#编写简单的聊天程序
这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考。文章大体分为四个部分:程序的分析与设计、C#网络编程基础(篇外篇)、聊天程序的实现模式、程序实现。
张子阳
2018/09/30
1.6K0
C#编写简单的聊天程序
择时荟萃(一):综合季节性择时策略
看了很多文献,良莠不齐,决定新开一个系列,把其中高质量的内容分享出来,供大家参考。作为尝试,先以择时为主题,汇总近期看到的择时相关的好文章。
量化小白
2023/03/19
2700
择时荟萃(一):综合季节性择时策略
在DataGrid中选择,确认,删除多行复选框列表
在DataGrid中选择,确认,删除多行复选框列表 Selecting, Confirming & Deleting Multiple Checkbox Items In A DataGrid (i.e. HotMail & Yahoo) Introduction Although I don't have either a Hotmail or Yahoo email account, I do have friends that do, and I have o
阿新
2018/04/13
1.7K0
择时荟萃(五):周期转折点识别与择时(附源码)
择时系列第五篇,来自海外的一名Quant。作者构建了一个识别宏观经济周期转折点识别的模型,用于市场择时,在多个国家市场上验证均有效,并提供了部分源码。获取报告请在后台回复“择时5”。
量化小白
2023/03/19
3800
择时荟萃(五):周期转折点识别与择时(附源码)
Python数据分析之基情的择天记
專 欄 ❈ 罗罗攀,Python中文社区专栏作者 专栏地址: http://www.jianshu.com/u/9104ebf5e177 ❈ 人一生都可能无法逆天改命,但你却是要去奋斗一把。本文章
Python中文社区
2018/01/31
7610
Python数据分析之基情的择天记
python数据分析之基情的择天记
names用于存入小说人物和出场次数;relationships保存人物关系的有向边,该字典的键为有向边的起点,值为一个字典edge,edge的键是有向边的终点,值是有向边的权值,代表两个人物之间联系的紧密程度;linenames存入每行小说出现的人物;all_names是小说所有人物。
罗罗攀
2018/08/28
4320
python数据分析之基情的择天记
在计算机视觉项目中选择OpenCV还是MATLAB
科学计算依赖于执行用不同编程语言编码的计算机算法。计算机视觉就是这样一个跨学科的科学领域,通常简称为CV。计算机视觉被用来开发能够自动完成诸如获取、处理、分析和理解数字图像等任务的技术。它也被用来从现实世界中提取高维数据来产生符号信息。简单地说,计算机视觉使计算机能够像人类一样看到、理解和处理图像和视频。
小白学视觉
2020/02/20
4.4K0
在计算机视觉项目中选择OpenCV还是MATLAB
[Java 安全]消息摘要与数字签名
该文介绍了如何使用Java实现数字签名,包括DSA、RSA和ECDSA算法。文章还介绍了Java中的KeyPair和Signature类,以及如何使用这些类来实现数字签名和验证。
静默虚空
2018/01/05
1.1K0
[Java 安全]消息摘要与数字签名
C#实现QQ(高仿版)聊天窗口
TextBox:允许用户输入文本,并提供多行编辑和密码字符掩码功能; Button:当用户单击它时引发事件; Timer:按用户定义的间隔引发事件的组件
全栈程序员站长
2022/09/15
1.7K0
C#实现QQ(高仿版)聊天窗口
C#使用OpenCV剪切图片中的人物头像
首先创建一个Wpf项目——OpenCV_Face_Wpf,这里版本使用Framework4.7.2。
Kiba518
2021/03/02
1.3K0
C#使用OpenCV剪切图片中的人物头像
你也可以写个聊天程序 C# Socket学习
我们做软件工作的虽然每天都离不开网络,可网络协议细节却不是每个人都会接触和深入了解。我今天就来和大家一起学习下Socket,并写一个简单的聊天程序。
郑子铭
2023/08/30
3270
你也可以写个聊天程序 C# Socket学习
假如可以从认识的人中选一个,买入他今后一生10%的收入
有阵子我在想,如果我作为一个资本方,来投资我自己做一款游戏,作为“资本”的那个“我”会怎么做?
沙因Sign
2021/04/16
3470
假如可以从认识的人中选一个,买入他今后一生10%的收入
点击加载更多

相似问题

用三值条件运算符串联Python字符串

27

三值运算符条件语句不工作

20

三值条件运算符不返回true/false

11

F#中插值字符串中的三值条件运算符

16

(Javascript)三值运算符问题的多个条件集

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文