Sometimes I hate Java
malexandre.fr
malexandre.fr
Why are you wrapping and unwrapping your objects three times over? Just use hibernate properly and it can replace all those generic DAOs.
Yes, generics aren't available via reflection for backwards compatibility reasons, and this is unfortunate. But the getModelClass() workaround is pretty simple, and you only need it at all because you've overengineered everything.
Yes, traditional java.util.Date is terrible, we know. It can't be replaced because of, again, backwards compatibility. If you're doing serious work in Java you use JodaTime and your life is good again.