1

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 ’,
...
)
3
  • 1
    stackoverflow.com/questions/197045/… Commented Jul 11, 2010 at 16:12
  • @donroby - thanks for the link, adding the default value in columnDefinition is not portable and hence wouldn't want to use that mechanism. Alternatively I could use a default value in the Entity model. Is there a different way to specify this? Commented Jul 11, 2010 at 16:16
  • I don't think there's a portable way to specify a default in the mapping. It might be best to set a default value either in the field declaration or in your constructor. Commented Jul 11, 2010 at 17:23

1 Answer 1

2

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.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.