Giriş
Şu satırı dahil ederiz.
Şu satırı dahil ederiz.
import javax.persistence.TypedQuery;
constructor - JQL + ClassÖrnek
İkinci parametre T tipi olduğu için TypedQuery döndürür.
Örnek
Şöyle yaparız.
String hql = "select count(me.grp) from MyEntity me group by grp";
TypedQuery<Integer> query = entityManager.createQuery(hql, Integer.class);
List<Integer> result = query.getResult();
constructor - CriteriaQueryÖrnek
Şöyle yaparız.
CriteriaQuery<Customer> select = ...;
TypedQuery<Customer> typedQuery = entityManager.createQuery(select);
getResult metodu
Tek sütunlu bir sonuç döndürür.
Örnek
Şöyle yaparız.String hql = "select count(me.grp) from MyEntity me group by grp";
TypedQuery<Integer> query = entityManager.createQuery(hql, Integer.class);
List<Integer> result = query.getResult();
getResultList metoduÇok sütunlu bir sonuç döndürür.
Örnek
Şöyle yaparız.
Örnek
page sayacı 0'dan başlıyorsa şöyle yaparız.
page sayacı 1'den başlıyorsa şöyle yaparız.
Şöyle yaparız.
TypedQuery<SimpleEntity> q =
em.createQuery("select t from SimpleEntity t", SimpleEntity.class);
List<SimpleEntity> listOfSimpleEntities = q.getResultList();
for (SimpleEntity entity : listOfSimpleEntities) {
// do something useful with entity;
}
Örnek
Şöyle yaparız
entityManager.getTransaction().begin();
TypedQuery<User> query = entityManager.createQuery("SELECT u FROM User u", User.class);
List<User> users = query.getResultList();
entityManager.getTransaction().commit();
entityManager.close();
setFirstResult metodu
page sayacı 0'dan başlıyorsa şöyle yaparız.
public List<Customer> getByCompany(Long id, int page, int size) {
...
TypedQuery<Customer> typedQuery = ...;
typedQuery.setFirstResult(page * size);
typedQuery.setMaxResults(page);
return typedQuery.getResultList();
}
Örnekpage sayacı 1'den başlıyorsa şöyle yaparız.
typedQuery.setFirstResult((page * perPage) - perPage);
setMaxResults metoduŞöyle yaparız.
int size = ...;
TypedQuery<Customer> typedQuery = ...;
typedQuery.setMaxResults(page);
setParameter metodu
Örnek
Şöyle yaparız
String GET_EMPLOYEE_BY_YEARS_OF_EXPERIENCE = "SELECT employee FROM Employee employee WHERE
experienceInYears=?1";@Transactionalpublic List<Employee> getEmployeeByYearsOfExperience(int years) {List<Employee> employees = new ArrayList<>()TypedQuery<Employee> getQueryByYear = entityManager.createQuery(GET_EMPLOYEE_BY_YEARS_OF_EXPERIENCE,Employee.class).setParameter(1, years);employees = getQueryByYear.getResultList();return employees;}
Hiç yorum yok:
Yorum Gönder