日期:2014-05-17  浏览次数:20623 次

sessionFactory.getCurrentSession() 为空
Query query = sessionFactory.getCurrentSession().createQuery总是抱错,
Exception in thread "main" java.lang.NullPointerException
at com.corona.web.action.SaveTrouble1Action.main(SaveTrouble1Action.java:354)

请问如何是sessionFactory.getCurrentSession()有效,谢谢。
//----------------------

public static void main(String args[]){

    String id = null;
List list = new ArrayList();
Query query = sessionFactory.getCurrentSession().createQuery(
"select plcIP from PlcAmsNetID where wind_Code = ? " );
list = query.setParameter(0, "1").list();
if(list.size() > 0 ){
id = (String)list.get(0);
}

System.out.println("id >>>" + id);
    

}

------解决方案--------------------
sessionFactory
这个你什么时候创建的呢?

------解决方案--------------------
如果是ssh已经做好的,你需要从spring容器中得到sessionFactory,或者把你掉用sessionFactory的这个放到放到事务中。
------解决方案--------------------
手动查询  看有结果吗
------解决方案--------------------
你要启动Spring 容器才能创建sessionFactory, 因为sessionFactory是放在spring容器中的
这样做测试:
ApplicationContext ac  = new ClassPathXmlApplicationContext("applicationContext.xml");
用ac调用bean组件,然后调用dao方法。