在我的Web應用程序中,我有一個文本區域,其用戶填充的內容最終通過Hibernate持久保存到數據庫。我遇到了一個問題,即當用戶輸入超出特定長度時,持久性失敗。有沒有一種方法可以通過Hibernate Annotations或配置表明這個特定的字段應該支持更長的字符串,並且數據庫列類型應該反映這一點?問題在Hibernate中持久化長字符串
下面是我得到異常:
Caused by: java.sql.BatchUpdateException: Data truncation: Data too long for column 'introText' at row 1
at com.mysql.jdbc.PreparedStatement.executeBatchSerially(PreparedStatement.java:2007)
at com.mysql.jdbc.PreparedStatement.executeBatch(PreparedStatement.java:1443)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:70)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:268)
... 41 more
你爲什麼說它失敗了呢?它會在後臺無聲地截斷字符串還是會收到錯誤消息?如果你告訴休眠,它是字符串類型,它會嘗試保存所有內容。 – 2010-01-21 20:38:25
用戶內容在String對象中設置。持久性期間拋出異常。 – lupefiasco 2010-01-21 20:39:56
你能否在你的文章中發佈異常? :)也許是你當前映射的片段。 – 2010-01-21 20:41:35