It could be done in a type safe manner as opposed to magic strings.
Yeah you can do SQL with Hibernate too. It works but it's a nightmare
No, because it's meant to be a declarative language and not ECMA-based. At least spend five minutes understanding what something is before throwing shade.