我想调用hibernate中的delete函数,但是报错,请各位帮我看看应该如何调用
类class JgclkManagerImp{
          public void deleteJgclk(JgclkTab persistentInstance) {
         jgclktabdao.delete(persistentInstance);
jgclktabdao.getSession().flush();
jgclktabdao.getSession().refresh(persistentInstance);


}类class JgclkTab{
         public JgclkTab() { } public JgclkTab(String lbbh0, String lbmc0) {
super(lbbh0, lbmc0);
} public JgclkTab(String lbbh0, String lbmc0, String tz000, String tzbz0) {
super(lbbh0, lbmc0, tz000, tzbz0);
}         public String getLbbh0() {
return this.lbbh0;
} public void setLbbh0(String lbbh0) {
this.lbbh0 = lbbh0;
} public String getLbmc0() {
return this.lbmc0;
} public void setLbmc0(String lbmc0) {
this.lbmc0 = lbmc0;
}}现传来参数LBBH0,如何调用JgclkManagerImp的删除方法deleteJgclk,删除带有参数LBBH0的记录?我如此写,但是执行报错
                  JgclkTab JgclkTab=new JgclkTab();
JgclkManagerImp JgclkManagerImp=new JgclkManagerImp();
JgclkTab.setLbbh0(LBBH0);

JgclkManagerImp.deleteJgclk(JgclkTab);  
这样写,也报错
                  JgclkTab JgclkTab=new JgclkTab();
JgclkManagerImp JgclkManagerImp=new JgclkManagerImp();
JgclkTab.setLbbh0(LBBH0);
JgclkTab.setLbmc0(LBMC0); JgclkManagerImp.deleteJgclk(JgclkTab);  
不知道是什么原因?

解决方案 »

  1.   

    看着好像没什么问题!
    LBBH0是独立的字符串吗?没有在其他什么地方引用吧?
      

  2.   

    LBBH0是独立字符串,而且设置断点发现值已经传进来了,只是执行这一步
    JgclkManagerImp.deleteJgclk(JgclkTab);  
    就报错了
      

  3.   

    不但是报错 而且是报空指针异常。
    JgclkTab JgclkTab=new JgclkTab(); 
    JgclkManagerImp.deleteJgclk(JgclkTab);你认为会进行删除操作吗。删除只针对有主键id存在的实体类对象。
      

  4.   

    你的对象不是持久态的...先load or get or查询到你的对象在删除...
      

  5.   

    只有先get这个对象,才可以删除的
      

  6.   

    问题解决了。
    主要问题是在别的地方重复申明了jgclktabdao,不是各位说的那样,
    LBBH0其实就是主键
    还是要谢谢大家了