2011-01-11 77 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,它可能会导致这样的行为。