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: 
Certainly not inside WEB-INF. You might want to save them in the file system, but not in the webapp's directory. First of all, it could very well be inexistent, if the app is packaged as a war. And second, you would lose evrything as soon as you redeploy the app. Desktop apps don't store their user data in their install directory, do they? It should be the same for webapps.

Now, since images are usually big, and they're not searchable, you might want to store them on the file system, and only store their name, path, hash, and/or mime type into the database. But it depends on your application, if they need to be served/used by other applications, if these apps have access to the database and/or the file system, etc. You decide.
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.