GenJ uses no specific database but works »directly on the GEDCOM file«. In detail this means: when opening a file GenJ reads the content into the main memory and works on it.
Changes are stored permanently when we use the menu 'File' → 'Save'. When we close the file with unsaved changes, GenJ gives a chance to save them.
Every time we save our file, also a backup of the previous version is saved named <filename>.ged~.
Thus we can return to one previous state if we made wrong changes and saved them. For real backups we have to care like for our other files.
With menu /'File' → 'Save as'// we can store the file with another name, or e.g. with a version number for backup, and also select the Character Sets to be used.