Hi,
I am getting the following Hibernate error when making a call to a webservice operation.
Hibernate version: 3.0
Mapping documents:
Code:
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.hcleai.psb.beans.EmployeeBean" table="EMP">
<id name="emSapID" column="EM_SAPID">
<generator class="assigned">
</generator>
</id>
<property name="emFirstName" column="EM_FIRSTNAME"/>
<property name="emMiddleName" column="EM_MIDDLENAME"/>
<property name="emLastName" column="EM_LASTNAME"/>
<property name="emExpYears" column="EM_EXPYEARS"/>
<set inverse="true" lazy="true" cascade="all" name="empProjectBeans">
<key column="PE_EMPID"/>
<one-to-many class="com.hcleai.psb.beans.EmpProjectBean"/>
</set>
<property name="emDesigID" column="EM_DESIGID"/>
<property name="emEmpType" column="EM_EMPTYPE"/>
<property name="emStatus" column="EM_STATUS"/>
<property name="emJoinDate" type="timestamp" column="EM_JOINDATE" />
<property name="emReportMgr" column="EM_REPORTMGR"/>
<property name="emNbaging" column="EM_NBAGING"/>
<property name="emUpdateDate" type="timestamp" column="EM_UPDATEDATE" />
<property name="emDetailedStatus" column="EM_DETAILEDSTATUS"/>
<property name="emBillableDate" type="timestamp" column="EM_BILLABLEDATE" />
<property name="emLocStatus" column="EM_LOCSTATUS"/>
<property name="emCurrentLoc" column="EM_CURRLOCATION"/>
<property name="emShortStatus" column="EM_SHORTSTATUS"/>
<property name="emBillableStatus" column="EM_BILLABLESTATUS"/>
<property name="emBillableLoc" column="EM_BILLABLELOC"/>
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.hcleai.psb.beans.ProjectBean" table="PROJECT">
<id name="prID" column="PR_ID">
<generator class="sequence">
<param name="sequence">PROJECT_SEQ</param>
</generator>
</id>
<property name="prName" column="PR_NAME"/>
<property name="prDesc" column="PR_DESC"/>
<property name="prMgr" column="PR_MGR"/>
<property name="prStartDate" type="timestamp" column="PR_STARTDATE" />
<property name="prCloseDate" type="timestamp" column="PR_CLOSEDATE" />
<property name="prStatus" column="PR_STATUS" />
<property name="prClientID" column="PR_CLIENTID" />
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.hcleai.psb.beans.SkillBean" table="SKILL_MASTER">
<id name="skID" column="SK_ID">
<generator class="increment">
</generator>
</id>
<property name="skName" column="SK_NAME"/>
<property name="skDesc" column="SK_DESC"/>
<property name="skUpdateDate" type="timestamp" column="SK_UPDATEDATE" />
</class>
</hibernate-mapping>
<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class name="com.hcleai.psb.beans.EmpProjectBean" table="PROJECT_EMP">
<id name="peID" column="PE_ID">
<generator class="sequence">
<param name="sequence">PROJECT_EMP_SEQ</param>
</generator>
</id>
<many-to-one column="PE_EMPID" name="employee" class="com.hcleai.psb.beans.EmployeeBean"/>
<many-to-one column="PE_PROJID" name="project" class="com.hcleai.psb.beans.ProjectBean"/>
<property name="peUpDateDate" type="timestamp" column="PE_UPDATEDATE"/>
<property name="peRoleID" column="PE_ROLEID"/>
<property name="peBillableHours" column="PE_BILLABLEHOURS" />
<property name="peProjCode" column="PE_PROJCODE" />
<property name="peStatus" column="PE_STATUS" />
<property name="peBillablePrCnt" column="PE_BILLABLEPRCNT" />
</class>
</hibernate-mapping>
Code:Code:
if (searchBy.equals("FName"))
query = new StringBuffer().append("select * from emp where lower(em_firstName) like lower('%").append(searchStr).append("%')").toString();
if (searchBy.equals("MName"))
query = new StringBuffer().append("select * from emp where lower(em_middleName) like lower('%").append(searchStr).append("%')").toString();
if (searchBy.equals("LName"))
query = new StringBuffer().append("select * from emp where lower(em_lastName) like lower('%").append(searchStr).append("%')").toString();
if (searchBy.equals("Project"))
query = new StringBuffer().append("select A.* from emp A, project_emp B, project C where A.em_sapid = B.pe_empid and C.pr_id=B.pe_projid and lower(C.pr_name) like lower('%").append(searchStr).append("%')").toString();
if (searchBy.equals("Skill"))
query = new StringBuffer().append("select A.* from emp A, emp_skill B, skill_master C where A.em_sapid =B.es_sapid and C.sk_id=B.es_skillid and lower(C.sk_name) like lower('%").append(searchStr).append("%')").toString();
if (searchBy.equals("Location"))
query = new StringBuffer().append("select * from emp where lower(em_currlocation) like lower('%").append(searchStr).append("%')").toString();
if (PsbUtil.checkStrEmpty(searchBy) && searchBy.equals("Visa"))
query = new StringBuffer().append("select A.* from emp A, visa B where A.em_sapid=B.vs_sapid and lower(B.vs_visatype) like lower('%").append(searchStr).append("%')").toString();
Session session = HibernateUtil.getSessionFactory().getCurrentSession();
session.beginTransaction();
Query hibQuery = session.createSQLQuery(query).addEntity(EmployeeBean.class);
List resultSet = hibQuery.list();
Full stack trace of any exception that occurs:
11:42:36,065 ERROR AssertionFailure:22 - an assertion failure occured (this may
indicate a bug in Hibernate, but is more likely due to unsafe use of the session
)
org.hibernate.AssertionFailure: Interceptor.onPrepareStatement() returned null o
r empty string.
at org.hibernate.jdbc.AbstractBatcher.getSQL(AbstractBatcher.java:461)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatch
er.java:481)
at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatch
er.java:423)
at org.hibernate.jdbc.AbstractBatcher.prepareQueryStatement(AbstractBatc
her.java:139)
at org.hibernate.loader.Loader.prepareQueryStatement(Loader.java:1547)
at org.hibernate.loader.Loader.doQuery(Loader.java:673)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Lo
ader.java:236)
at org.hibernate.loader.Loader.doList(Loader.java:2220)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2104)
at org.hibernate.loader.Loader.list(Loader.java:2099)
at org.hibernate.loader.custom.CustomLoader.list(CustomLoader.java:289)
at org.hibernate.impl.SessionImpl.listCustomQuery(SessionImpl.java:1695)
at org.hibernate.impl.AbstractSessionImpl.list(AbstractSessionImpl.java:
142)
at org.hibernate.impl.SQLQueryImpl.list(SQLQueryImpl.java:152)
at com.hcleai.psb.common.db.EmployeeManager.searchEmployees(EmployeeMana
ger.java:102)
at com.hcleai.psb.services.user.PSBUserBindingImpl.searchEmployees(PSBUs
erBindingImpl.java:238)
at com.hcleai.psb.services.user.PSBUserBindingSkeleton.searchEmployees(P
SBUserBindingSkeleton.java:433)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.j
ava:397)
at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider
.java:186)
at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:
323)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:454
)
at org.apache.axis.server.AxisServer.invoke(AxisServer.java:281)
at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:69
9)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBas
e.java:327)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:174)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:151)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:874)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.p
rocessConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpo
int.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFol
lowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadP
ool.java:689)
at java.lang.Thread.run(Thread.java:595)
Name and version of the database you are using:
Oracle 9i
Thanks in advance,
newbie