簡體   English   中英

對象屬性的Hibernate Criteria / Query

[英]Hibernate Criteria / Query on object properties

我有一個AppUser ;

class AppUser {
   private String firstName;
   private String lastName;
   //-- getters and setters
}

我還有另一個班級的Student ;

class Student {
   private AppUser appUser;
   private Date dateOfBirth;
   //-- getters and setters
}

我如何搜索學生John Doe ,firstName John,lastName Doe?

如果它是出生日期的財產,我會創建一個Criteria並在該日期添加一個平等限制( Restristions.eq )。 我如何為AppUser對象中的lastName和firstName執行此操作?

您可能需要添加別名...類似於:

List students = session.createCriteria(Student.class).createAlias("appUser", "user").add(Restrictions.eq("user.firstName", firstName)).list();

沒有別名:

List students = session.createCriteria(Student.class).add(Restrictions.eq("appUser.firstName", firstName)).list();

查詢:

Query q = session.createQuery(
    "SELECT s from Student s WHERE s.appUser.firstName=:firstName AND s.appUser.lastName=:lastName");
q.setParameter("firstName", "John");
q.setParameter("lastName", "Doe");

要使用Criteria,請檢查此主題

另請參閱hibernate docs中的這個頁面

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM