JPA-SQL is a domain-specific, database-independent language (DSL). The syntax is intentionally SQL-like so that JPA-SQL is easy to learn. However, JPA-SQL is not to be confused with native SQL. Queries formulated in JPA-SQL are never sent to a database. Instead, they are converted into Java code based on the JPA Criteria API. This allows you to take full advantage of the JPA Criteria API without having to write the JPA Criteria code.
At runtime, the JPA provider generates the native SQL statements that match the connected database from the generated JPA Criteria code and these are sent to the database. JPA-SQL thus combines the simplicity of SQL with the numerous advantages of the JPA Criteria API.