ranyeli
9/4/2017 - 5:11 AM

Sample search query using jpa paremeters + TypedQuery and inheriting the common crud operations

Sample search query using jpa paremeters + TypedQuery and inheriting the common crud operations

package com.project.dao;

import java.util.List;
import javax.persistence.TypedQuery;
import org.springframework.stereotype.Repository;
import com.project.model.Item;

@Repository
public class ItemDao extends GenericDao<Item> {
	
	public List<Item> findByDesc(String term){
		TypedQuery<Item> query = entityManager.createQuery(
				"SELECT i FROM Item i WHERE i.description LIKE :term",
				Item.class
				);
		query.setParameter("term", "%"+term+"%");
		return query.getResultList();
	}
	
	public List<Item> findByPrice(Double min, Double max){
		TypedQuery<Item> query = entityManager.createQuery(
				"SELECT i FROM Item i WHERE i.price > :min and i.price < :max", 
				Item.class
				);
		query.setParameter("min", min);
		query.setParameter("max", max);
		return query.getResultList();
	}
}