@Override
    public String getPropertyNameForPrimaryKey(String pkName, EntityType entityType) {
        if (pkName.toLowerCase().startsWith("pk_")) {
            pkName = pkName.substring(3) + "_" + pkName.substring(0,2);
        }
        String propertyName = getPropertyName(pkName, entityType);
        for (String candidate : Arrays.asList(propertyName, propertyName + "Pk")) {
            if (!entityType.getEscapedPropertyNames().contains(candidate)) {
                return normalizeJavaName(candidate);
            }
        }
        return normalizeJavaName(escape(entityType, propertyName));
    }
{@code DefaultNamingStrategy} is the default implementation of the {@link NamingStrategy}
interface. It changes underscore usage into camel case form.

@author tiwe
querydsl-sql-codegen/src/main/java/com/querydsl/sql/codegen/DefaultNamingStrategy.java