Asa*_*Ali 3 spring hibernate jpa spring-mvc spring-data-jpa
我正在尝试使用Spring-JPA更新列的值,值是emoji / smilies。但是收到错误消息说java.sql.BatchUpdateException:不正确的字符串值:'\ xF0 \ x9F \ x98 \ x84 \ xF0 \ x9F ...'
这是连接网址-
jdbc.url=jdbc:mysql:localhost:3306/woo?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&connectionCollation=utf8mb4_unicode_ci&characterSetResults=UTF-8
这是调用代码
userProfile.setAboutMeText("\uD83D\uDE04\uD83D\uDC68\u200D\u2764\uFE0F\u200D\uD83D\uDC8B\u200D\uD83D\uDC68\uD83D\uDE02\uD83D\uDE20");
这是实体
 @Entity
public class UserProfile implements Serializable {
    @Column(length = 1000)
private String aboutMeText;
@Id
private Long id;
public Long getId() {
    return id;
}
public void seId(Long id) {
    this.id = id;
}
public String getAboutMeText() {
   return JsonEscape.unescapeJson(aboutMeText);
}
 public void setAboutMeText(String aboutMeText) {
   this.aboutMeText = JsonEscape.escapeJson(aboutMeText);
}
和
这是完整的错误:
HTTP Status 500 - Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: Data truncation: Data too long for column 'aboutMeText' at row 1; SQL [n/a]; nested exception is org.hibernate.exception.DataException: Data truncation: Data too long for column 'aboutMeText' at row 1</h1>
    <div class="line"></div>
    <p>
        <b>type</b> Exception report
    </p>
<pre>org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.dao.DataIntegrityViolationException: Data truncation: Data too long for column 'aboutMeText' at row 1; SQL [n/a]; nested exception is org.hibernate.exception.DataException: Data truncation: Data too long for column 'aboutMeText' at row 1
org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:981)
org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:871)
javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:845)
javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:77)
org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
我尝试并检查了关于stackoverflow,stackexchange等的各种帖子,并进行了一些更改,但仍然无法解决问题。
通过alter和code和db将aboutMeText的大小从1000增加到3000。
@Column(length = 3000) 
private String aboutMeText;
这样做com.mysql.jdbc.MysqlDataTruncation:数据截断:数据太长异常已消失,我得到了所需的输出。
| 归档时间: | 
 | 
| 查看次数: | 4157 次 | 
| 最近记录: |