Hibernate中嵌入字段的默认值。 java.sql.SQLException:字段'url'没有默认值

Hibernate中嵌入字段的默认值。 java.sql.SQLException:字段'url'没有默认值

问题描述:

我有一个抽象类A,类BCA的子类。类B有一个嵌入字段d。现在,当我尝试保存B的实例时,一切都很好。但是创造的C一个实例,并保存它,我得到一个错误:Hibernate中嵌入字段的默认值。 java.sql.SQLException:字段'url'没有默认值

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.sql.Exception告诉你:

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

从措辞我假设你使用的MySQL,错误的意思是,你的string字段没有在插入时填充和宣布为不是n ULL。如果您要将记录插入该表并将string列留空,您将收到完全相同的错误。

什么导致最终你的问题是,你必须使用这两个类在同一个表中,列string添加对象b着想,使用c的情况下,不填充。