【发布时间】:2021-08-18 04:56:48
【问题描述】:
我正在使用 spring boot 工作,并且我正在尝试向数据库(postgresql)添加床,但我遇到了这个错误
org.postgresql.util.PSQLException: ERROR: null value in column "idRoom" of relation "Bed" violates not-null constraint
Detail: Failing row contains (34, sxxkskskso, null).
求床
package com.bezkoder.springjwt.pojo;
public class BedRequest {
public Long idBed;
public String bedNumber;
public long roomId;
public Long getIdBed() {
return idBed;
}
public void setIdBed(Long idBed) {
this.idBed = idBed;
}
public String getBedNumber() {
return bedNumber;
}
public void setBedNumber(String bedNumber) {
this.bedNumber = bedNumber;
}
public long getRoomId() {
return roomId;
}
public void setRoomId(long roomId) {
this.roomId = roomId;
}
}
床
package com.bezkoder.springjwt.models;
import javax.persistence.*;
@Entity
public class Bed {
@Id
@GeneratedValue(strategy = GenerationType.TABLE)
private Long idBed;
private String bedNumber ;
@ManyToOne
(fetch = FetchType.LAZY)
@JoinColumn(nullable = false, name = "idRoom")
private Room room;
public Bed(Long idBed, String bedNumber) {
this.idBed = idBed;
this.bedNumber = bedNumber;
}
public Bed() {
}
public String getBedNumber() {
return bedNumber;
}
public void setBedNumber(String bedNumber) {
this.bedNumber = bedNumber;
}
public Long getIdBed() {
return idBed;
}
public void setIdBed(Long idBed) {
this.idBed = idBed;
}
public Room getRoom() {
return room;
}
public void setRoom(Room room) {
this.room = room;
}
}
房间类
@Override
public Bed addBed(BedRequest bedRequest) {
Room room = roomRepository.findByIdRoom(bedRequest.roomId);
Bed bed = new Bed();
bed.setBedNumber(bedRequest.bedNumber);
bed.setRoom(room);
return bedRepository.save(bed);
}
BedController 类
@PostMapping("/createBed")
public Bed AddBed(@RequestBody BedRequest bedRequest){
return bedService.addBed(bedRequest);
}
调试结果
{
"timestamp": "2021-05-30T18:01:33.500+0000",
"status": 400,
"error": "Bad Request",
"message": "Required request body is missing: public com.bezkoder.springjwt.models.Bed com.bezkoder.springjwt.controllers.BedController.AddBed(com.bezkoder.springjwt.pojo.BedRequest)",
"path": "/api/auth/bed/createBed"
}
我真的不明白这里发生了什么,如果有人能帮助我解决这个问题?我在互联网上寻找答案,但到目前为止没有任何效果。
【问题讨论】:
标签: java postgresql spring-boot