Tutorial :Is it possible to generate a default value for a certain database column using hbm2ddl



Question:

Env: JPA 1, Hibernate 3.3.x, MySQL 5.x

We auto generate database schema using hbm2ddl export operation. Would it be possible to generate a default value for a certain @Entity member during SQL generation. (e.g. archive field in mytable entity class.

create table mytable (  ...  'archive‘ tinyint(1) default ’0 ’,  ...  )  


Solution:1

There is no portable way to do that and the columnDefinition "trick" is definitely not a good solution. Actually, setting defaults in the generated DDL is just not a good idea, this would require the provider to go back to the database to see the result after an insert1. Better default in your Java code.

1 Just in case, note that you can tell Hibernate to do that using the @Generated annotation.


Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »