I figured it out! On this database configuration documentation page:
http://docs.broadleafcommerce.org/core/current/broadleaf-concepts/key-aspects-and-configuration/database-configurationIt explains that
The import_files property instructs hibernate to run the SQL in the list of files that it finds. Broadleaf uses this to populate data needed for the demo and startup applications. Some teams continue to use this early in the development cycle but may choose to disable this and use a more permanent database in later stages.
So I just commented out the lines setting this value:
blPU.hibernate.hbm2ddl.import_files
Also, the file:
/site/src/main/resources/runtime-properties/development.properties
I changed the following from "create-drop" to
blPU.hibernate.hbm2ddl.auto=update
NOW my custmers and products persist server restarts! Only spent a few HOURS trying to achieve expected functionality (since it takes a while to stop-start every time I wanted to test something I hoped would fix it). Wouldn't it make more sense to have a script you would choose to run that would drop all tables, create entire schema, and run SQL to populate DB (when developer realizes something broke)?