My preference (and it seems to be fairly efficient), is to continue with the standard design pattern of storing metadata (file-path, etc) in the database and storing the file in the filesystem. You can them make programatic references much easier.
Thank you. I used too mostly this is the approach with other frameworks.
I just wondered if Cayenne has some better support for this common scenario.

The second one seems to be the most efficient, but than the entire transaction support is lost :(.

Not sure what you mean by "transaction support", so I can't comment on this.
I mean that in the case of a file system based approach, where the metadata is in the database, the operations on files are not guarded by transactions, nor can they be process in the same Cayenne transaction like on the metadata of those files. So when problems occur during editing, deleting, etc. the system is not consistent and can't be really rollbacked.

Thank you,
Joseph.

Reply via email to