<dependency>
<groupId>org.springframework.data</groupId>
<artifactId>spring-data-jpa</artifactId>
<version>1.4.1.RELEASE</version>
</dependency>
public interface Repository<T, ID extends Serializable> {
}
public interface CrudRepository<T, ID extends Serializable>
extends Repository<T, ID> {
<S extends T> S save(S entity);
T findOne(ID primaryKey);
Iterable<T> findAll();
Long count();
void delete(T entity);
boolean exists(ID primaryKey);
// … ve dahası.
}
public interface PagingAndSortingRepository<T, ID extends Serializable>
extends CrudRepository<T, ID> {
Iterable<T> findAll(Sort sort);
Page<T> findAll(Pageable pageable);
}
public interface QueryDslPredicateExecutor<T> {
T findOne(Predicate predicate);
Iterable<T> findAll(Predicate predicate);
Iterable<T> findAll(Predicate predicate, OrderSpecifier<?>... orders);
Page<T> findAll(Predicate predicate, Pageable pageable);
long count(Predicate predicate);
}
public interface CountryRepository extends Repository<Country, String> {
Country findOneByCode(String code);
Country findOneByLocalNameIgnoreCase(String capital);
List<Country> findByContinentAndLifeExpectancy(String continent, Float lifeExpentancy);
List<Country> findByLifeExpectancyLessThan(Float lifeExpentancy);
}
public interface CityRepository extends Repository<City,Integer> {
List<City> findByCountryCode_LocalNameOrderByNameDesc(String localName);
List<City> findByPopulationGreaterThan(Integer population,Pageable pageable);
Page<City> findByCountryCode_CodeLike(String code,Pageable pageable);
@Query("select c from City c where c.name like ?1")
List<City> findSomeCity(String name);
}