Giriş
Şu satırı dahil ederiz.
between metodu - Bir alanı verilen değerler aralığında arama
Şöyle yaparız.
Örnek
uid alanına göre sorgulamak istersek şöyle yaparız.
Verilen değer string ise büyük küçük farklılığına dikkat etmeden arama için şöyle yaparız.
Şöyle yaparız
Bir başka örnekte ise içinde W harfi geçen kayıtlar aranıyor
sqlRestriction metodu
Şu satırı dahil ederiz.
import
org.hibernate.criterion.Restrictions;
Criteria sınıfı ile en çok ilişkisi olan bir diğer sınıf ise Restriction sınıfıdır. Bu sınıf SQL dilindeki where kısıtına denk gelir.between metodu - Bir alanı verilen değerler aralığında arama
Şöyle yaparız.
criteria.add(Restrictions.between("FromDate", searchFromDate, searchToDate));
eq metodu - Bir alanı verilen değerin eşitliği ile arama
Criteria içindeki bir alanın verilen değere eşit olanlarının getirilmesini sağlar.Örnek
uid alanına göre sorgulamak istersek şöyle yaparız.
cr.add( Restrictions.eq("uid", id));
ÖrnekVerilen değer string ise büyük küçük farklılığına dikkat etmeden arama için şöyle yaparız.
Criteria criteria=session.createCriteria(ItemHolder.class);
criteria.createAlias("items", "item");
criteria.add(Restrictions.eq("item.Name", "my Item").ignoreCase());
ilike metodu - Harf farkına bakmaksızın benzerlik ile aramaŞöyle yaparız
Criteria criteria = sessionFactory.getCurrentSession()
.createCriteria(Product.class, "product")
.add(Restrictions.ilike("product.name", "%" + name + "%"))
.add(Restrictions.ilike("product.code", code))
.setProjection(Projections.property("product.name").as("name"));
like metodu - Bir alanı verilen değerin benzerliği ile arama
Restrictions.like ile bir çok alternatif mevcut. Aşağıdaki örnekte başlangıcı W olan kayıtlar aranıyorcriteria.add(Restrictions.like( "TITLE.title", "W", MatchMode.Start ));
criteria.add (Restrictions.like("TITLE.title", "W", MatchMode.ANYWHERE));Benzer işlemin HQL ile yapılması örneği ise burada.
sqlRestriction metodu
Şöyle yaparız.
String SELECT_RANDOM_QUOTE = "SELECT * FROM ...";
criteria.add(Restrictions.sqlRestriction(SELECT_RANDOM_QUOTE));
Hiç yorum yok:
Yorum Gönder