In order to have jOOQ generate named parameters, you have to explicitly tell it to do so.
In your case, this would make
String sql = create.renderNamedParams(query);
The above would replace your call to
query.getSQL();
Note, this is documented here:
http://www.jooq.org/doc/3.0/manual/sql-building/bind-values/named-parameters
A future version of jOOQ (probably 3.1) will probably support initialising your DSLContext
with a setting to always render named parameters as such. This is registered as a feature request on the roadmap: