Java – Set default values using hibernate annotations in MYSQL

hibernatejava

I have searched on internet and seen ideas about setting default values in entity class using hibernate annotations in mysql and I have done with setting default values to column with datatype integer only as follows.

@Column(name = "COLUMN_NAME", insertable=false, updatable = false, nullable = false, columnDefinition = "int default 1")
protected Integer test_id;

and is working fine.

But I haven't seen any example for varchar/string datatype and I have try with different types in columnDefinition like,

columnDefinition = "TEXT default `TEST`"  
columnDefinition = "TEXT default TEST"  
columnDefinition = "varchar(255) default `15-JUL-1980`")  
columnDefinition = "varchar(255) default 15-JUL-1980")  
columnDefinition = "varchar default 15-JUL-1980")  
columnDefinition = "varchar default `15-JUL-1980`")  
columnDefinition = "CHAR(100) default `15JUL1980`")  
columnDefinition = "CHAR default `15JUL1980`")

With length attribute:-

`length=100, columnDefinition = "CHAR default `15JUL1980`")` 

etc.

but in this case table is not created by hibernate, that may be due to wrong syntax.
But if I am creating the table with only integer values as above table is created.

Best Answer

Below line of code is working fine

@Column(name = "cname", insertable=false, updatable = false, nullable = false, columnDefinition = "varchar(255) default '15-JUL-1980'")