2 approaches:
1) store the file in the filesystem and store the path to the file in the db
2) store the file in the db.
2) requires a lot of diskspace on the db server, and requires that the db / catalog can expand rapidly and without problems. 1) doesn't have that, but has the disadvantage that with backups you have to backup folders together with the database. Another downside is that when the files move to another folder, you're in for some db fun
When you opt for 2), read the files into a byte[] and store that into an image column.