I usually use jOOQ, but I don't mind writing SQL, and I find it just as readable as any jOOQ expression. When I write SQL - in fact, when I write in any language - I use whatever is the team's guidelines or the most common style, even if I don't like it myself (for example, I always use 4 spaces for indents in Java and Kotlin even though I 'know' tabs are better™).