Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Getting strange message

 
Mike London
Ranch Hand
Posts: 1192
4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I have Hibernate code that works fine to get a user's data 'by property' (property=user login), but when trying to run it on the server, it crashes on the line:

List userList = dao.findByUsrLogin(userLogin);

The error is really strange (again since the same code is running locally in the dev environment fine -- same DB, etc.).

The userLogin value in the actual Dao class is correct...a regular String like: "test1234".

Any ideas why this might be happening?

I tried other methods to for the dao, but they didn't work either on the server. Looks like all the start up code is working fine (the getSession() method call generates lots of code, but no errors).

Thanks in advance for any suggestions.

M
-------------------

SEVERE: find by property name failed
org.hibernate.exception.GenericJDBCException: could not execute query
at org.hibernate.exception.SQLStateConverter.handledNonSpecificException(SQLStateConverter.java:103)
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:91)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.loader.Loader.doList(Loader.java:2214)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095)
at org.hibernate.loader.Loader.list(Loader.java:2090)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:375)
at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79)
at TestProject.UsersDAO.findByProperty(UsersDAO.java:125)
at TestProject.UsersDAO.findByUsrLogin(UsersDAO.java:176)
at TestProject.ValidateLogin.validate(ValidateLogin.java:48)
at org.apache.jsp.login_jsp._jspService(org.apache.jsp.login_jsp:121)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.sql.SQLException: Value '<little square box>'is out of range [-127,127]
at com.mysql.jdbc.ResultSet.getByteFromString(ResultSet.java:1528)
at com.mysql.jdbc.ResultSet.getNativeByte(ResultSet.java:3046)
at com.mysql.jdbc.ResultSet.getByte(ResultSet.java:1474)
at com.mysql.jdbc.ResultSet.getByte(ResultSet.java:1489)
at org.hibernate.type.ByteType.get(ByteType.java:28)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:163)
at org.hibernate.type.NullableType.nullSafeGet(NullableType.java:154)
at org.hibernate.type.AbstractType.hydrate(AbstractType.java:81)
at org.hibernate.persister.entity.AbstractEntityPersister.hydrate(AbstractEntityPersister.java:2092)
at org.hibernate.loader.Loader.loadFromResultSet(Loader.java:1371)
at org.hibernate.loader.Loader.instanceNotYetLoaded(Loader.java:1299)
at org.hibernate.loader.Loader.getRow(Loader.java:1197)
at org.hibernate.loader.Loader.getRowFromResultSet(Loader.java:568)
at org.hibernate.loader.Loader.doQuery(Loader.java:689)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224)
at org.hibernate.loader.Loader.doList(Loader.java:2211)
... 31 more
 
Eric Nielsen
Ranch Hand
Posts: 194
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
The root cause exception make it look like a database encoding issues.


Caused by: java.sql.SQLException: Value '<little square box>'is out of range [-127,127]


Looks like trying to pass unicode or similar to a database configured for ASCII/C/etc
 
Mike London
Ranch Hand
Posts: 1192
4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Sounds reasonable, except that when I run this code within MyEclipse, it runs fine (I get back a Users object all populated in the List).

If I run the code in the browser, than I get the crash doing the query on the Dao call.

Same DB on the same local machine in both cases.

To run the code, I put all the JAR files from the latest version of Hibernate into my lib folder for the Tomcat project (that is, WEB-INF/lib).

This is strange...

Any other thoughts would be helpful.

Thanks.

Mike
 
Mike London
Ranch Hand
Posts: 1192
4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Found the problem!

The difference was the MyEclipse was using version 5+ of the JDBC driver and my Tomcat COMMON/lib folder only had mysql-connector-java-3.1.11-bin.jar.

I updated Tomcat to the latest JDBC driver and everything worked fine.

Phew!

Thanks again.

Mike
 
lattimore lau
Greenhorn
Posts: 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Dears,

I got the same problem "Caused by: java.sql.SQLException: Value '<little square box>'is out of range [-127,127]".
Mysql + Mybatis.


The problem has been fixed, but the reason is still not found.

I just update data type from bit to tinyint for a field, which is new added one.

Good Luck.

lattimore
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic