0
我正在使用Spring 3.1.1與Hibernate 4和MSSQL數據庫。最後,我已經能夠查詢我的數據庫與表中的聯接,返回正確的答案。雖然,它似乎沒有返回我的消息的整個字符串,但削減在29/30數字。這裏是我的查詢:SQL查詢結果中的字符數
SQLQuery sql = this.getCurrentSession().createSQLQuery(
"SELECT event.id as eventid, CAST(event_type.type_name AS varchar) as eventtype, event.check_date, event.event_date, event.status, CAST(event_message.message AS varchar) as eventmessage " +
"FROM event_log event " +
"LEFT JOIN event_type " +
"ON (event.event_type_id = event_type.id) " +
"LEFT JOIN event_message " +
"ON (event.event_message_id = event_message.id) " +
"WHERE event.event_type_id = " + jobId +
"ORDER BY eventid");
的結果可能是:
4506 Database 2014-01-15 14:14:15.02 2014-01-15 14:14:15.02 false Database-connection cannot be
其中列有ID,TASK_NAME,check_date,活動日期,狀態,並在年底的消息字符串。 。
結果轉到ArrayList<Object[]>
,我讀row[0]
等等來獲取行中的實體。字符串消息在29個數字之後被切斷,這是令人不安的。爲什麼它會切斷字符串,我該如何解決這個問題?在我的數據庫中,字符串存在於其中,並且最多有400個字符。
我知道這可能不是查詢我的數據庫的最佳方式,但它會爲我的應用程序,因爲它的工作原理。
謝謝,做到了!我需要投,因爲我得到「org.hibernate.MappingException:沒有Dialect映射的JDBC類型:-9」,如果我沒有。另一種方法是使用addScalar,但我沒有嘗試過,投射是我最初找到的答案。如果我能夠upvote你的答案,我會。 – confuse