Hibernate中嵌入字段的默认值。java.sql.SQLException:字段';url';不';没有默认值
我有一个抽象类Hibernate中嵌入字段的默认值。java.sql.SQLException:字段';url';不';没有默认值,java,hibernate,embeddable,Java,Hibernate,Embeddable,我有一个抽象类A,类B和C是A的子类。类B具有嵌入字段d。现在,当我尝试保存B的一个实例时,一切都很好。但是,在创建C的实例并保存它时,我遇到了一个错误: java.sql.SQLException: Field 'string' doesn't have a default value. Eg类: public abstract class A { } @Embeddable public class D { private String string; } public
A
,类B
和C
是A
的子类。类B
具有嵌入字段d
。现在,当我尝试保存B
的一个实例时,一切都很好。但是,在创建C
的实例并保存它时,我遇到了一个错误:
java.sql.SQLException: Field 'string' doesn't have a default value.
Eg类:
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
字段在插入时没有填充,并且声明为NOTNULL。如果在该表中插入一条记录并将字符串保持为空,则会收到完全相同的错误
最终导致问题的原因是两个类都使用了相同的表,string
列是为了对象b
而添加的,在使用c
时不填充