There might be a situation when you want to set the default value of column in spring boot. You might be thinking how to set it even when you have set the default value in the database but you still get a null value stored in the database . It is because JPA includes the columns with null value in the insert query which you might not want to include since you want the default value to be stored in DB

To approach this problem
Define your @Column annotation like that:
@Column(name = “IS_ACTIVE”, columnDefinition = “boolean default true”)
Use columnDefinition to define default value
If you choose this option, you have to use dynamic-insert, so Hibernate doesn’t include columns with null values
import org.hibernate.annotations.DynamicInsert;
@DynamicInsert
@JsonInclude(JsonInclude.Include.NON_NULL)
@Table(name = "test_config")
public class TestConfig implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(columnDefinition = "SERIAL", name = "id")
private Long id;
@Column(name = "name")
private String name;
@Column(name = "weight")
private float weight;
@Column(name = "is_active" ,columnDefinition = "boolean default true")
private Boolean isActive;
}
If you want to do using Java
You can set the default value in the request body
@Getter
public class TestConfigData {
private String name;
private float weight = 1;
private Int age = 25;
private boolean isActive = true;
}
References :
https://www.baeldung.com/jpa-default-column-values
https://www.xspdf.com/resolution/52515159.html