Skip to content

Latest commit

 

History

History
50 lines (40 loc) · 1.89 KB

README.md

File metadata and controls

50 lines (40 loc) · 1.89 KB

Maven Central

Development && Participation

If you want to participate on the development please perform the pull request to the develop branch.

Documentation

Documentation is available on http://nativecriteria.przemeknowak.com/

Library available on Maven Central Repository

<!-- core module -->
<dependency>
    <groupId>com.github.pnowy.nc</groupId>
    <artifactId>nativeCriteria-core</artifactId>
    <version>3.1.0</version>
</dependency>

<!-- spring integration module -->
<dependency>
    <groupId>com.github.pnowy.nc</groupId>
    <artifactId>nativeCriteria-spring</artifactId>
    <version>3.1.0</version>
</dependency>

Simple example:

// SELECT a.city FROM address a WHERE a.zip_code IS NULL AND city := ? ORDER BY a.city ASC
NativeCriteria nc = new NativeCriteria(new JpaQueryProvider(entityManager), "address", "a")
      .setProjection(NativeExps.projection().addProjection("a.city"))                       
      .add(NativeExps.isNull("a.zip_code"));                                                
      .setOrder(NativeExps.order().add("a.city", OrderType.ASC));

// dynamic where part
if (StringUtils.isNotEmpty(city)) {
    nc.add(NativeExps.eq("a.city", city))
}            
      
// get the results
CriteriaResult res = c.criteriaResult();                                                    
List<String> cityNames = new ArrayList<>();
while (res.next()) {                                                                        
   resp.add(res.getString("a.city"));                                                       
}