Does Hibernate allow the writing of String/Type SQL , similar to Entity Framework /w Linq, where a person can write proper Sql, and any misspelled SQL Table, Column names will be shown at compile time instead of run execution time?
create.select(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME, count()) .from(AUTHOR) .join(BOOK).on(AUTHOR.ID.equal(BOOK.AUTHOR_ID)) .where(BOOK.LANGUAGE.eq("DE")) .and(BOOK.PUBLISHED.gt(date("2008-01-01"))) .groupBy(AUTHOR.FIRST_NAME, AUTHOR.LAST_NAME) .having(count().gt(5)) .orderBy(AUTHOR.LAST_NAME.asc().nullsFirst()) .limit(2) .offset(1)
Advertisement
Answer
As requested I’m adding my comment as an answer.
Id depends on how you are creating your query, If you are using JPA/Native queries, no, if you are using criteria (with only entity objects), then yes.
Here is an example of using Criteria with just entity objects: https://stackoverflow.com/a/36648488/460557
Although if you are using Criteria APIs that you need to pass in Strings, then the answer is also no.