Question: I am creating a Spring MVC Hibernate application using MySQL. Where should I save the User Images: in the database or in some folder, like under `WEB-INF/` ?

Answer: 
You can choose it:

1. **DataBase** - you have the positive point that this can be associated with records and will never be orphan (depending on your model). For backup it is a little bit painful for situations in which the database increases.
2. **FileSystem** - backup facility, as these are physical files, an rsynch process should be enough. Another positive point is that you reduce the IO from DB. Although, it is quite hard to attach a logic between the files and the record stored in the DB (you have things distributed), so you will not be sure if the file wasn't removed and there are still some records referring to it in DB.

***If filesystem option is chosen, put it outside the application directory structure (prepare a dedicated place for the files)***. The application dir should not be modified, causing some pain when redeployment is done. You can use symbolic links though.

With images, probably you want to perform some thumbnails and so on, this would be cheaper using FileSystem option.
That depends what you're trying to accomplish.   

If these are static images , and you have a fixed number of users ,you can consider saving them under WEB-INF/.   

However, most likely this is not you case, and you have varying number amount of users and you have to store a user for each one of them.   

Possible solutions:   

A. For the user store an image name, and have a convention of storing/loading from a well known directory in your file system.   

B. Store the image as a blob in your DB. Consider checking the [@Lob annotation](http://docs.jboss.org/hibernate/annotations/3.5/reference/en/html/entity.html)