EntityRepository

public interface EntityRepository<T, ID extends Serializable> {

	public boolean exists(ID id) ;
	public boolean exists(T entity) ;
	
	public T read(ID id) ;
	public T read(T entity) ;
	public T create(T entity) ;
	public T update(T entity) ;
	public T createOrUpdate(T entity) ;
	public void delete(T entity);
	public void delete(ID id);
	
	public long count(Object query);

	public List<T> findAll();
	public List<T> findAll(Object query);
	public List<T> findAll(Object query, Sort sort);
	public Page<T> findAll(Object query, Pageable pageable);

	public void deleteAll();
	public void deleteAll(Object query);
}
		

T : Entity Object

ID : Entity Identity Object