【问题标题】:java.sql.SQLException: Field 'name' doesn't have a default valuejava.sql.SQLException:字段“名称”没有默认值
【发布时间】:2018-04-14 10:33:50
【问题描述】:

保存时出现“java.sql.SQLException: Field 'name' doesn't have a default value”。

我的保存方法

 gender = genderServices.getById(Integer.parseInt(carMap.get("gender").toString()));
        category.setGender(gender);
        category.setCategoryName(carMap.get("categoryName").toString());
        this.categoryServices.save(category);

性别.class

@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
@Column(name="id")
private Integer id;

@Column(name="name")
private String name;

分类类

@ManyToOne
@JoinColumn(name="genderID")
private Gender gender;

如何解决?

【问题讨论】:

    标签: java spring hibernate


    【解决方案1】:

    错误是可以自我解释的,它确实意味着它们对于 db 中的“名称”是“非空约束”,并且您没有针对该列设置任何值。

    【讨论】:

    • 通常真实的 SQL 结构与 JPA 不一致(例如 JPA 定义转到从不版本,db 不是)
    • 不,我用 category.setGender(gender) 设置了一个名称的值。所以保存时性别名称不为空
    猜你喜欢
    • 2015-07-07
    • 2017-11-15
    • 2014-12-07
    • 2015-07-19
    • 2019-02-09
    • 2020-09-30
    • 1970-01-01
    • 2023-01-03
    • 2013-11-11
    相关资源
    最近更新 更多