@skaffman, It's a pity but the real world is like that. Even if people do understand that you might be able to get the job done or possibly will be able to, they usually avoid such things.
There's no point putting the job that is not done at work(Open Source, etc.) on the cv
You might call it employer caution or employer stupidity but still... Even if what you've done in your free time might be more advanced that people do at the company, it doesn't count.
From "experience" it's just a waste of time, if you force yourself too much. Read about what interest you first, and try to improve your skills, one step at the time.
If you want to stay competitive in the job market
Avoid companies who are using Struts and all the legacy stuff. Those companies are usually getting nowhere, no they won't upgrade and no you won't introduce new things or use new technologies, so you basically don't learn much there.
Stay proud
I've been interviewed at many companies where people say "We use the greatest and latest technologies". You might not even worked with any technology that they use, but as soon as you start talking with the senior developers, you understand that they're not your match.
Stay proud, keep applying to job, don't give up, value your skils.
The fact that you never used Hibernate doesn't matter. You weren't paid to use Hibernate, Struts, etc. If the employer annoys you with that tell him straight like that. If he keeps bothering you about technologies that you don't use, it means he wants to make you feel weak and later offer you a low salary. Stay firm, tell him the same thing and if he keeps on bothering you, just leave and keep applying.
Sooner or later someone will contact you, and hopefully with a decent offer.
Cheers