【问题标题】:java.sql.SQLIntegrityConstraintViolationException: Column 'Ciudad' cannot be nulljava.sql.SQLIntegrityConstraintViolationException:列“Ciudad”不能为空
【发布时间】:2020-08-04 16:59:27
【问题描述】:

我无法插入学生

我明白了:

Hibernate:插入到 sgc_Alumnos(Apellido、Borrado、Ci、Ciudad、Clave、Direccion、Disponibilidad_FechaDesde、Disponibilidad_Horaria、Disponibilidad_UltimaActualizacion、Disponibilidad_prob、Email、Fecha_Actualizado、Fecha_Creado、Fecha_Nacimiento、Paisies、Noadombre、Osuariorio、Public , Telefono, Tipo, availability_rate, changePassword, encuestaInicial, hashed) 值 (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? , ?, ?, ?, ?, ?, ?, ?, ?, ?) 2020-08-04 13:46:34.352 WARN 5064 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper:SQL 错误:1048,SQLState:23000 2020-08-04 13:46:34.352 错误 5064 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper:“Ciudad”列不能为空

这是我的代码:

   import javax.persistence.Column;
   import javax.persistence.Entity;
   import javax.persistence.GeneratedValue;
   import javax.persistence.GenerationType;
   import javax.persistence.Id;
   import javax.persistence.Table;
   import org.hibernate.annotations.SQLInsert;
   //import com.sun.istack.NotNull;
   
   @Entity
   @Table(name = "sgc_Alumnos")
   //@SQLInsert(sql="INSERT INTO sgc_Alumnos(Id,Id_Usuario,Fecha_Creado,Ci,Nombre,Apellido,Telefono,Disponibilidad_Horaria,Disponibilidad_FechaDesde,Disponibilidad_UltimaActualizacion,Disponibilidad_prob,availability_rate,Email,Clave,Tipo,Imagen,Direccion,Ocupacion,Interes,Fecha_Nacimiento,Ciudad,Pais,encuestaInicial,Fecha_Actualizado,hashed,changePassword,Publicado,Borrado) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?);")
   public class sgc_Alumnos {
       
       private @Id @GeneratedValue(strategy = GenerationType.IDENTITY) Integer Id;
       private Integer Id_Usuario;
       private Date Fecha_Creado;
       private String Ci;
       private String Nombre;
       private String Apellido;
       private String Telefono;
       private String Disponibilidad_Horaria;
       private Date Disponibilidad_FechaDesde;
       private Date Disponibilidad_UltimaActualizacion;
       private Integer Disponibilidad_prob;
       private String availability_rate;
       private String Email;
       private String Clave;
       private String Tipo;
       private String Imagen;
       private String Direccion;
       private String Ocupacion;
       private String Interes;
       private Date Fecha_Nacimiento;
       private String Ciudad;
       private String Pais;
       private Integer encuestaInicial;
       private Date Fecha_Actualizado;
       private Integer hashed;
       private Integer changePassword;
       private Integer Publicado;
       private Integer Borrado;
       
       public sgc_Alumnos() {}
       
       sgc_Alumnos(Integer Id_Usuario, Date Fecha_Creado, String Ci, String Nombre, String Apellido, 
               String Telefono, String Disponibilidad_Horaria, Date Disponibilidad_FechaDesde, 
               Date Disponibilidad_UltimaActualizacion, Integer Disponibilidad_prob, 
               String availability_rate, String Email, String Clave, String Tipo, String Imagen, 
               String Direccion, String Ocupacion, String Interes, Date Fecha_Nacimiento, String Ciudad, 
               String Pais, Integer encuestaInicial, Date Fecha_Actualizado, Integer hashed, 
               Integer changePassword, Integer Publicado, Integer Borrado) {
   
           this.Id_Usuario = Id_Usuario;
           this.Fecha_Creado = Fecha_Creado ;
           this.Ci = Ci;
           this.Nombre = Nombre;
           this.Apellido = Apellido;
           this.Telefono = Telefono;
           this.Disponibilidad_Horaria = Disponibilidad_Horaria;
           this.Disponibilidad_FechaDesde = Disponibilidad_FechaDesde;
           this.Disponibilidad_UltimaActualizacion = Disponibilidad_UltimaActualizacion;
           this.Disponibilidad_prob = Disponibilidad_prob;
           this.availability_rate = availability_rate;
           this.Email = Email;
           this.Clave = Clave;
           this.Tipo = Tipo;
           this.Imagen = Imagen;
           this.Direccion = Direccion;
           this.Ocupacion = Ocupacion;
           this.Interes = Interes;
           this.Fecha_Nacimiento = Fecha_Nacimiento;
           this.Ciudad = Ciudad;
           this.Pais = Pais;
           this.encuestaInicial = encuestaInicial;
           this.Fecha_Actualizado = Fecha_Actualizado;
           this.hashed = hashed;
           this.changePassword = changePassword;
           this.Publicado = Publicado;
           this.Borrado = Borrado;
         }
       
       //getters and setters
       public Integer getId() {
           return Id;
       }
       public void setId(Integer id) {
           Id = id;
       }
       public Integer getId_Usuario() {
           return Id_Usuario;
       }
       public void setId_Usuario(Integer id_Usuario) {
           Id_Usuario = id_Usuario;
       }
       public Date getFecha_Creado() {
           return Fecha_Creado;
       }
       public void setFecha_Creado(Date fecha_Creado) {
           Fecha_Creado = fecha_Creado;
       }
       public String getCi() {
           return Ci;
       }
       public void setCi(String ci) {
           Ci = ci;
       }
       public String getNombre() {
           return Nombre;
       }
       public void setNombre(String nombre) {
           Nombre = nombre;
       }
       public String getApellido() {
           return Apellido;
       }
       public void setApellido(String apellido) {
           Apellido = apellido;
       }
       public String getTelefono() {
           return Telefono;
       }
       public void setTelefono(String telefono) {
           Telefono = telefono;
       }
       public String getDisponibilidad_Horaria() {
           return Disponibilidad_Horaria;
       }
       public void setDisponibilidad_Horaria(String disponibilidad_Horaria) {
           Disponibilidad_Horaria = disponibilidad_Horaria;
       }
       public Date getDisponibilidad_FechaDesde() {
           return Disponibilidad_FechaDesde;
       }
       public void setDisponibilidad_FechaDesde(Date disponibilidad_FechaDesde) {
           Disponibilidad_FechaDesde = disponibilidad_FechaDesde;
       }
       public Date getDisponibilidad_UltimaActualizacion() {
           return Disponibilidad_UltimaActualizacion;
       }
       public void setDisponibilidad_UltimaActualizacion(Date disponibilidad_UltimaActualizacion) {
           Disponibilidad_UltimaActualizacion = disponibilidad_UltimaActualizacion;
       }
       public Integer getDisponibilidad_prob() {
           return Disponibilidad_prob;
       }
       public void setDisponibilidad_prob(Integer disponibilidad_prob) {
           Disponibilidad_prob = disponibilidad_prob;
       }
       public String getAvailability_rate() {
           return availability_rate;
       }
       public void setAvailability_rate(String availability_rate) {
           this.availability_rate = availability_rate;
       }
       public String getEmail() {
           return Email;
       }
       public void setEmail(String email) {
           Email = email;
       }
       public String getClave() {
           return Clave;
       }
       public void setClave(String clave) {
           Clave = clave;
       }
       public String getTipo() {
           return Tipo;
       }
       public void setTipo(String tipo) {
           Tipo = tipo;
       }
       public String getImagen() {
           return Imagen;
       }
       public void setImagen(String imagen) {
           Imagen = imagen;
       }
       public String getDireccion() {
           return Direccion;
       }
       public void setDireccion(String direccion) {
           Direccion = direccion;
       }
       public String getOcupacion() {
           return Ocupacion;
       }
       public void setOcupacion(String ocupacion) {
           Ocupacion = ocupacion;
       }
       public String getInteres() {
           return Interes;
       }
       public void setInteres(String interes) {
           Interes = interes;
       }
       public Date getFecha_Nacimiento() {
           return Fecha_Nacimiento;
       }
       public void setFecha_Nacimiento(Date fecha_Nacimiento) {
           Fecha_Nacimiento = fecha_Nacimiento;
       }
       public String getCiudad() {
           return Ciudad;
       }
       public void setCiudad(String ciudad) {
           Ciudad = ciudad;
       }
       public String getPais() {
           return Pais;
       }
       public void setPais(String pais) {
           Pais = pais;
       }
       public Integer getEncuestaInicial() {
           return encuestaInicial;
       }
       public void setEncuestaInicial(Integer encuestaInicial) {
           this.encuestaInicial = encuestaInicial;
       }
       public Date getFecha_Actualizado() {
           return Fecha_Actualizado;
       }
       public void setFecha_Actualizado(Date fecha_Actualizado) {
           Fecha_Actualizado = fecha_Actualizado;
       }
       public Integer getHashed() {
           return hashed;
       }
       public void setHashed(Integer hashed) {
           this.hashed = hashed;
       }
       public Integer getChangePassword() {
           return changePassword;
       }
       public void setChangePassword(Integer changePassword) {
           this.changePassword = changePassword;
       }
       public Integer getPublicado() {
           return Publicado;
       }
       public void setPublicado(Integer publicado) {
           Publicado = publicado;
       }
       public Integer getBorrado() {
           return Borrado;
       }
       public void setBorrado(Integer borrado) {
           Borrado = borrado;
       }
package com.ibec.api.dao;

import org.springframework.data.jpa.repository.JpaRepository;

import com.ibec.api.model.sgc_Alumnos;


public interface sgc_AlumnosDAO extends JpaRepository<sgc_Alumnos, Integer> {

}
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import com.ibec.api.dao.sgc_AlumnosDAO;
import com.ibec.api.model.sgc_Alumnos;

@RestController
@RequestMapping("alumnos")
public class sgc_AlumnosRest {
    
    @Autowired
    private sgc_AlumnosDAO alumnosDAO;
    
    sgc_AlumnosRest(sgc_AlumnosDAO alumnosDAO) {
        this.alumnosDAO = alumnosDAO;
      }
    
    @PostMapping("/insert")
    public void insert(@RequestBody sgc_Alumnos alumno) {
        alumnosDAO.save(alumno);
    }
    
    @GetMapping("/get_all_alumnos")
    public List<sgc_Alumnos> getAlumnos(){
        return alumnosDAO.findAll();
    }

}

【问题讨论】:

  • 我认为,如果您解释了您正在尝试做什么,将会有所帮助。为了尽可能减少您的示例代码,请参阅Minimal, Reproducible Example
  • 如果这是休眠状态,请将其标签添加到您的问题中。

标签: java mysql spring spring-boot hibernate


【解决方案1】:

查看以下信息:

13:46:34.352 ERROR 5064 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper : Column 'Ciudad' cannot be null

在您的类 sgc_Alumnos 中,您有一个名为 Ciudad 的属性,如果 Ciudad 为空,您无法持久保存 sgc_Alumnos 对象,可能是因为您的表中的该字段不接受它,那么,是您的数据库抛出此错误。尝试传递一个不为 null 的 Ciudad 对象或更改列表的限制。

【讨论】:

    猜你喜欢
    • 2019-07-10
    • 1970-01-01
    • 2018-08-29
    • 1970-01-01
    • 2021-01-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多