Hello,
I'm fairly new to Hibernate and I am looking in to using it with our existing database schema which we use with both Oracle 9 and Firebird. But I have a couple of queries about some of the more intrinsic parts of our current data loading process. Apologies if similar questions have already been asked but I have looked around the forums and documentation and I can't find what I'm looking for.
For our system, all the data is loaded into the database by a data loading application. Once this data is ready to be used it is then read-only. Because of this, in our current data loading process we don't create the indexes that we require until after all the data has been loaded for efficiency. But with Hibernate it seems that indexes are created when the tables are created as defined in the mappings when SchemaExport is used to create the tables.
Wouldn't this cause the loading of large amounts of data to be slower than if the indexes weren't there? Is there any way Hibernate could be made to only create indexes when we want them? i.e. after all data has been loaded.
Also, for the Oracle database we run further optimising commands from within our Java code. These such as dbms_stats.gather_SCHEMA_stats() and the analyze command. Does Hibernate support any such commands? Or would they have to be run by calling executeSQLQuery(), or similar.
Many thanks for any help,
Ian.
|