Этот метод является клейким кодом, который написал автор блога, чтобы преобразовать jOOQ Query
в JPA Query
. В этом коде клея нет безопасности типов. Безопасность типов, которую вы искали, была представлена в других примерах поста, где автор создавал безопасные запросы типов с использованием jOOQ API, например:
// This stuff is type safe
var jooqQuery =
ctx.select(AUTHOR.FIRSTNAME, AUTHOR.LASTNAME, BOOK.TITLE)
.from(AUTHOR)
.leftJoin(BOOK_AUTHOR).on(AUTHOR.ID.eq(BOOK_AUTHOR.AUTHORS_ID))
.leftJoin(BOOK).on(BOOK_AUTHOR.BOOKS_ID.eq(BOOK.ID))
.where(AUTHOR.FIRSTNAME.like("Thor%"));
// This stuff isn't, and there is no need
Query q = em.createNativeQuery(jooqQuery.getSQL());
setBindParameterValues(q, jooqQuery);