【发布时间】:2019-01-19 10:26:17
【问题描述】:
我在插入记录数据库期间遇到以下问题。
2018-08-12 16:06:26.874 警告 5482 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper:SQL 错误:1364,SQLState: HY000 2018-08-12 16:06:26.875 错误 5482 --- [nio-8080-exec-2] o.h.engine.jdbc.spi.SqlExceptionHelper:字段“country_id”没有 有一个默认值查询是:插入bi_person(additional_info, 性别ID,姓氏,姓名)值(?,?,?,?),参数['Java master',48,'WW','John'] 2018-08-12 16:06:27.047 错误 5482 --- [nio-8080-exec-2] o.a.c.c.C.[.[.[.[dispatcherServlet]]: Servlet.service() 用于 servlet [dispatcherServlet] 在上下文中的路径 [/bi-message-svc/v1] 抛出异常[请求处理失败; 嵌套异常是 org.springframework.orm.jpa.JpaSystemException: 无法执行语句;嵌套异常是 org.hibernate.exception.GenericJDBCException:无法执行 声明] 有根本原因
org.mariadb.jdbc.internal.util.dao.QueryException: 字段 'country_id' 没有默认值查询是:插入bi_person (additional_info, gender_id, last_name, name) 值 (?, ?, ?, ?), 参数 ['Java master',48,'WW','John']*
//国家:
@Table(name = "bi_country")
@Entity
public class Country {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_country")
private Integer id;
@Column(name = "name")
private String name;
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(name="country_book", joinColumns=@JoinColumn(name="id_country"), inverseJoinColumns=@JoinColumn(name="id_person"))
private Set<Person> persons;
//性别:
@Table(name = "bi_gender")
@Entity
public class Gender {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_gender")
private Integer id;
@Column(name = "name")
private String name;
//人
@Table(name = "bi_person")
@Entity
public class Person {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_person")
private Integer id;
@Column(name = "name")
private String name;
@Column(name = "last_name")
private String lastName;
@Column(name = "additional_info")
private String additionalInfo;
@ManyToOne
private Gender gender;
@ManyToMany(cascade=CascadeType.ALL)
private Set<Country> countries;
【问题讨论】:
标签: java mysql spring hibernate