2011-01-11 80 views
0

命名參數查詢爲了防止SQL注入我試圖將轉換爲動態查詢,命名參數查詢。然而,當我使用此代碼 -問題,在Hibernate

String query = "from Ad a left join fetch a.adQueries left join fetch a.aduser u left join fetch u.profile where a.id =:identifier"; 
     Query q = s.createQuery(query); 
     q.setParameter("identifier", id); 

無數據返回從DB即使數據是存在的,動態的形式返回數據

和相同的查詢時,我使用此代碼 -

String query = "from Ad a left join fetch a.adQueries left join fetch a.aduser u left join fetch u.profile where a.id =:identifier"; 
     Query q = s.createQuery(query); 
     q.setLong("identifier", id); 

它拋出一個空指針異常..

請讓我知道我錯了

感謝

回答

1

也許idnull,它可能會導致這樣的行爲。