2014-03-25 75 views
0

我有兩個實體,分別叫做EmployeeEntityEmployeeDeparmentEntity。如果我要取僱員,我要取所有活躍的部門。我對這兩個實體都使用了雙向映射。如何編寫標準查詢?

EmployeeDeparment

@Entity 
public class EmployeeDeparment implements Serializable { 

    @Id 
    @GeneratedValue(strategy = GenerationType.AUTO) 
    private Long id; 

    @ManyToOne 
    @JoinColumn(name = "employeeid") 
    private EmployeeEntity employeeentity; 

    @Temporal(javax.persistence.TemporalType.DATE) 
    private Date addeddate; 
    @Temporal(javax.persistence.TemporalType.DATE) 
    private Date modifieddate; 
    @ManyToOne 
    private EmployeeEntity reportingTo; 

    @ManyToOne 
    private DepartmentMaster departmentID; 
    private boolean status; 

} 
+1

見我的編輯:我已刪除不必要的getter/setter和進口,到問題的理解不相關的。我還更正了問題標題中的拼寫錯誤,並添加了標籤。如果您想盡快獲得更多幫助,請幫助我們瞭解到目前爲止您嘗試了些什麼。 – perissf

回答

0

根據你的情況,我想出了以下標準的Hibernate查詢這可能會在你的情況有所幫助。

Criteria criteria = session.createCriteria(EmployeeDeparment.class); 
criteria.add(Expression.eq("status",true)); //all active department 
criteria.add(Expression.eq("employeeentity.id",1234)); //set the employee id 

List lisObj = criteria.list(); 


Iterator it=lisObj .iterator(); 

while(it.hasNext()) 
     { 
      EmployeeDeparment p=(EmployeeDeparment)it.next(); 
      p.get(.........); 
      p.get(.........); 
      p.get(.........); 
     } 

讓我知道,如果你面對任何進一步的問題...