| Currently TableGenerator must be initialized by calling both configure and registerExportables. This is OK when using annotations to automatically create your Identifiers for you, but occasionally, you need to subclass your own TableGenerator (for example to add a prefix to the PK). Configure is easy to use takes intuitive parameters. registerExportables is impossible to use, taking some 'Database' object as a parameter. Also registerExportables is only used on rare occasion when we need to mutate database models. If one manages ones own DDLs (not everyone grants root privs to their java apps) and also manually generates an ID, TableGenerator is unusable. Suggested Solution: Please initialize critical class variables in the configure method, as intuition would suggest: Add these 3 assignments to the end of the configure method: selectQuery = buildSelectQuery( jdbcEnvironment.getDialect() ); updateQuery = buildUpdateQuery(); insertQuery = buildInsertQuery(); |