@Override
    public long execute() {
        JPQLSerializer serializer = new JPQLSerializer(templates, null);
        serializer.serializeForInsert(queryMixin.getMetadata(), inserts.isEmpty() ? columns : inserts.keySet(), values, subQuery, inserts);

        Query query = session.createQuery(serializer.toString());
        for (Map.Entry<Path<?>, LockMode> entry : lockModes.entrySet()) {
            query.setLockMode(entry.getKey().toString(), entry.getValue());
        }
        HibernateUtil.setConstants(query, serializer.getConstants(), queryMixin.getMetadata().getParams());
        return query.executeUpdate();
    }
UpdateClause implementation for Hibernate

@author tiwe
querydsl-jpa/src/main/java/com/querydsl/jpa/hibernate/HibernateInsertClause.java