\u001B[1mSYNOPSIS\u001B[0m
    ${project.description}

    Original Maven URL:
        \u001B[33mmvn:${pkgGroupId}/querydsl-core/${pkgVersion}\u001B[0m
        \u001B[33mmvn:${pkgGroupId}/querydsl-apt/${pkgVersion}\u001B[0m
        \u001B[33mmvn:${pkgGroupId}/querydsl-codegen/${pkgVersion}\u001B[0m
        \u001B[33mmvn:${pkgGroupId}/querydsl-jdo/${pkgVersion}\u001B[0m
        \u001B[33mmvn:${pkgGroupId}/querydsl-lucene/${pkgVersion}\u001B[0m
        \u001B[33mmvn:${pkgGroupId}/querydsl-sql/${pkgVersion}\u001B[0m

\u001B[1mDESCRIPTION\u001B[0m
    Querydsl is a framework which enables the construction of type-safe SQL-like queries for multiple backends
    including JPA, MongoDB and SQL in Java.

    Example for JPA:

    List<Customer> result = query.from(customer)
        .where(customer.lastName.like("A%"), customer.active.eq(true))
        .orderBy(customer.lastName.asc(), customer.firstName.desc())
        .list(customer);

    Compared to the alternatives Querydsl is more compact, safer and easier to learn. Try it today!

    To run this bundle, it is required to install the following prerequistes:
        mvn:org.apache.geronimo.specs/geronimo-jta_1.1_spec/1.1.1
        mvn:org.apache.servicemix.specs/org.apache.servicemix.specs.java-persistence-api-1.1.1/2.4.0
        mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.guava/11.0.2_2
        mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.javax-inject/1_2
        mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdo2-api/2.2_1
        mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.cglib/2.2.2_1
        mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.lucene/3.0.3_2
        mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.jdt-core/3.2.3_5
        mvn:org.apache.servicemix.bundles/org.apache.servicemix.bundles.joda-time/2.3_1

\u001B[1mSEE ALSO\u001B[0m
    \u001B[36mhttp://www.querydsl.com/\u001B[0m
