调用wbservices的hibernate方法(marshall exception)

时间:2012-03-13 10:19:45

标签: java web-services apache hibernate cxf

我正在使用apache cxf for may webservices。 在我的服务类中有hibernate方法。 我从我的客户端调用中调用该方法...但是当从客户端调用该方法时,我得到一个异常...正在关注

  

2012年3月12日15:21:42 org.apache.cxf.phase.PhaseInterceptorChain   doDefaultLogging INFO:应用程序   {http://service.simplyfiIT.net/}PasswordServiceImplService#{http://service.simplyfiIT.net/}getQuestion   抛出异常,现在展开:org.hibernate.SessionException:   会议结束! 2012年3月12日15:21:42   org.apache.cxf.jaxb.JAXBEncoderDecoder marshallException警告:   与http://service.simplyfiIT.net/关联的架构为空   2012年3月12日15:21:42   org.apache.cxf.services.PasswordServiceImplService.PasswordServiceImplPort.PasswordService

我不知道为什么会发生这种异常...

这是我从客户端类

调用的hibernate方法
  

public String getQuestion(String questionID)抛出HibernateException {         会话session = HibernateSessionFactory.currentSession();如果   (session == null || session.isOpen()== false){                         session = HibernateSessionFactory.getSessionFactory()。openSession(); }

          Query q = session.createQuery("select challengequestion.question from QuestionAnswer as challengequestion where id =
     

'“+ questionID +”'“);

    session.close();

    System.out.println("==================="+q.iterate().next().toString());
  return q.iterate().next().toString();   }

如果有人熟悉此例外,请帮助

1 个答案:

答案 0 :(得分:0)

http://service.simplyfiIT.net/关联的架构为空。这是你的问题。 在QuestionAnswer类的映射文件中有类似

的内容
<hibernate-mapping>
<class name = "QuestionAnswer" table = "<<table name>>">
(mapping stuff)
</class>
</hibernate-mapping>

您确定要连接的数据库中是否存在表名?