具有非可空字段的可空嵌入对象

时间:2017-06-09 03:46:59

标签: java spring hibernate spring-boot

这个问题类似于Pete_Gore's,但对于春天的休眠问题。我想创建一个嵌入对象的实体,嵌入对象可以为空,但如果已定义,那么嵌入对象中的属性应该是不可为空的。

Entity.java

@Entity
public class EntityObject {

    @Column
    private String name;

    @Embedded
    private EmbeddedObject embeddedObject;// This should be nullable

    //Getters, setters, and constructor
}

Embedded.java

@Embeddable
public class EmbeddedObject {
    @Column(nullable = false)
    private String exampleProperty;// This should be non-nullable

    //Getters, setters, and constructor
}

当exampleProperty可以为空时,此方案有效但当我将其设置为非可空时,在创建具有null EmbeddedObject的EntityObject时,会出现类似于以下内容的错误。

NULL not allowed for column "exampleProperty"; SQL statement:

1 个答案:

答案 0 :(得分:0)

添加您的可嵌入类:

@Formula("0")
int aNUll;