Hi Jens,
Thank you very much for your message.
Exposing H2 specific flags has been a recurring request in the past for both the DDLDatabase and the JPADatabase, and we've rejected it based on the fact that we do not really want to document / guarantee / or specify any dependency on H2 in DDLDatabase or JPADatabase. The fact that we're using H2 behind the scenes is an implementation detail that has brought us quick wins - i.e. being able to do this kind of generation *at all* at the cost of certain incompatibilities this may cause. The current implementation is likely going to be replaced soon (hopefully 3.13) as we're working on DDL simulator that mainly benefits the DDLDatabase, but will also help improve some JPADatabase edge cases. See:
https://github.com/jOOQ/jOOQ/projects/1
Note we've relaxed our stance on this a little bit by forwarding any JPADatabase configuration properties starting with "hibernate." or "javax." to Hibernate's MetadataSources settings. It is unlikely that we're going to replace the Hibernate dependency in DDLDatabase any time soon, so this is slightly different. As such, it might be possible to work around the current limitations by passing a naming strategy to Hibernate, which might yield even better results than using H2's flags:
Alternatively, JPADatabase is just a few lines of code - you could fork it and maintain your own version that handles this, for now, until we solve this problem more thoroughly using the DDL simulation approach.
I hope this helps,
Lukas