Extra variables in each Persistent object instance:
- bool modified - flag in each field
- bool oldID - flag (used to track id - changes)
- bool inDatabase - flag
- Database* - pointer
- one INSERT-SQL statement is required per inherited Persistent-class (deep class inheritance hierarchies cost)
- selection of objects needs joins
As demonstrated in Implementation Details, code generator (litesql-gen) generates a lot of code. In addition to that, a part of that code uses templates which will produce even more code.
This is rarely a problem but worth to note when memory is tight.