How to set a default entity property value with Hibernate

后端 未结 17 2317
一整个雨季
一整个雨季 2020-11-28 02:53

How do I set a default value in Hibernate field?

17条回答
  •  野趣味
    野趣味 (楼主)
    2020-11-28 03:11

    You can use @PrePersist anotation and set the default value in pre-persist stage.

    Something like that:

    //... some code
    private String myProperty;
    //... some code
    
    @PrePersist
    public void prePersist() {
        if(myProperty == null) //We set default value in case if the value is not set yet.
            myProperty = "Default value";
    }
    
    // property methods
    @Column(nullable = false) //restricting Null value on database level.
    public String getMyProperty() {
        return myProperty;
    }
    
    public void setMyProperty(String myProperty) {
        this.myProperty= myProperty;
    }
    

    This method is not depend on database type/version underneath the Hibernate. Default value is set before persisting the mapping object.

提交回复
热议问题