2012-11-16 32 views
0

這是我的HibernateDaoImpl,它用於從Emp和Org表中獲取valge,例如ORG_ID,ORG_NAME,ID,ORG_ID,EMP_ID,EMP_NAME,CARD_NUM,ORG_PAY,EMP_PAY, 。使用Hibernate來serach兩個sql表,如何修復

如何使用java代碼來迭代它們來檢查這個是否是我想要的值?

public List<Emp> findByOrgId(String orgId) throws Exception { 
    SessionFactory sf = HibernateSessionFactory.getSessionFactory(); 
    Session session = sf.openSession(); 
    String hql = "select o.orgId,o.orgName,e.empId,e.empName,e.cardNum,e.orgPay,e.empPay from Org o,Emp e where e.orgId=o.orgId and o.orgId=?"; 
    Query query = session.createQuery(hql); 
    query.setString(0,orgId); 
    List list = query.list(); 
    return list; 

回答

0

您的查詢需要一個參數(值爲o.orgId),但是您不會傳遞任何參數。

的代碼看起來應該像

Query query = session.createQuery(hql); 
List<Emp> empList = (List<Emp>) query.setInteger(orgId).list(); 

在查詢來看,它alwo看起來像的Emp實體應該是這樣一個聯合體,以一個組織實體,而不是有其ID。我還會命名實體Employee和Organization。你的代碼比這些3個字母的名字更可讀。

+0

感謝abuot你的意見。 – user189297

相關問題