What is best practice for the eclipselink.ddl-generation property.
Should you run a script first (before application 1st run) to create all tables etc and leave this set to NONE or is it ok to leave it at create / create-table for good?
I am guessing that leaving it set and the resultant exceptions will have some negative / performance impact? What is normal best practice?
You could leave it to "create-tables" or even "drop-and-create-tables" during development if your model is frequently changing.
During production I would turn if off and either switch to maintaining the tables with a script, or run it once to generate the production schema. Normally a production schema would be maintained by a DBA.
But it depends on your application. If your application can be downloaded and installed by many different users, then it may make sense to leave DDL generation on to avoid the user having to create the database. A few failed exceptions at startup should not have a big impact.