views:

22

answers:

1

All,

Is there some setting that I can tell hbm2ddl to run a view creation statement instead of create a table when generating the database schema?

I'm creating my database schema using the wonderful hbm2ddl tool, but I have one issue. I need to flatten some of the tables into views to aid searching the database, and hql would be overly complex a solution. I've created Entity objects pointed at these views, in order to fetch search results via hibernate. This all works fine, until hbm2ddl is used. In an empty database schema, hbm2ddl will create the database schema based on the jpa annotations, unfortunately, it will also create my views as tables. Is there some setting that I can tell hbm2ddl to run a view creation statement instead of create a table? In lieu of that, is there a way to tell hbm2ddl to skip table creation for an entity (exclude, or something)?

Thanks!

+1  A: 

To my knowledge, and this is unfortunate, Hibernate doesn't support things like creating views instead of tables nor validating a schema containing views. See issues like HHH-1872, HHH-2018 or HHH-1329.

Pascal Thivent
Unfortunate! An alternative approach will probably be to move schema creation to maven, combining the hbm2ddl plugin with something custom. Thanks for the response.
John Gordon