【问题标题】:Default value for an embedded field in Hibernate. java.sql.SQLException: Field 'url' doesn't have a default valueHibernate 中嵌入字段的默认值。 java.sql.SQLException:字段 'url' 没有默认值
【发布时间】:2016-01-13 12:47:11
【问题描述】:

我有一个抽象类A,类BCA 的子类。 B 类有一个嵌入字段 d。现在,当我尝试保存 B 的实例时,一切都很好。但是在创建C 的实例并保存它时,我收到一个错误:

java.sql.SQLException: Field 'string' doesn't have a default value.

例如类:

public abstract class  A {

}

@Embeddable
public class D {

    private String string;
}

public class B extends A{

    @Embedded
    @NotNull
    private D d;
}

public class C extends A {

}

【问题讨论】:

    标签: java hibernate embeddable


    【解决方案1】:

    你得到的错误是java.sql.Exception告诉你:

    `Field 'string' doesn't have a default value.`
    

    从我假设您使用 MySQL 的措辞来看,错误的意思是,您的 string 字段在插入时未填充并声明为非空。如果您要在该表中插入一条记录并将string 列留空,您将收到完全相同的错误。

    到底是什么导致了你的问题是你有同一个表用于两个类,string 列是为了对象b 而添加的,在使用c 的情况下没有填充。

    【讨论】:

      猜你喜欢
      • 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
      相关资源
      最近更新 更多