It complains because you didn’t define ConceptDto as entity-name in the <class/> tag.
I don’t know what to answer here - seems you just want to argue because you don’t like the new way of doing things. Was it really necessary that you use this API? Let’s just leave it at that.
Well, you can’t reassign a var variable, but I don’t see why this is a deal breaker. I don’t know what to tell you - if you don’t like it, don’t use it. If you want something improved, get involved in the community/spec and try to get things you think are valuable into the projects.
You can write your custom utility methods to reduce the amount of code needed for common things you think are cumbersome. Or, if you don’t want to write custom code, there are many query builder libraries (QueryDSL, Blaze-Persistence, …) that work on top of JPA which try to implement a different querying model.
If you don’t care about safety, why don’t you just concatenate strings to produce HQL and execute that HQL directly?