Java Hibernate-当使用@Column(长度=40000)时,不会在Ubuntu mysql上创建表

Java Hibernate-当使用@Column(长度=40000)时,不会在Ubuntu mysql上创建表,java,mysql,windows,hibernate,ubuntu,Java,Mysql,Windows,Hibernate,Ubuntu,我正在将应用程序从windows移动到ubuntu服务器。其中一个类应该映射到自动创建的表(由Hibernate创建),在Windows MySQL上创建为表,没有问题,但在Ubuntu MySQL上没有创建。 所有其他类都创建为表,没有问题 在tomcat上的应用程序启动日志中,我没有任何错误——一切都是为了hibernate而做的。还将在其他表中创建一个外键 其他实体中唯一不存在的是“@Column(length=40000)”,但它似乎不可能因为此注释而崩溃 我已尝试删除其他表-它们是自动

我正在将应用程序从windows移动到ubuntu服务器。其中一个类应该映射到自动创建的表(由Hibernate创建),在Windows MySQL上创建为表,没有问题,但在Ubuntu MySQL上没有创建。 所有其他类都创建为表,没有问题

在tomcat上的应用程序启动日志中,我没有任何错误——一切都是为了hibernate而做的。还将在其他表中创建一个外键

其他实体中唯一不存在的是“@Column(length=40000)”,但它似乎不可能因为此注释而崩溃

我已尝试删除其他表-它们是自动重新创建的,没有问题

有我的实体类的代码:

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;

@Entity
public class ConsultationHrm {

    @Id
    @GeneratedValue
    private Long id;

    @Column(length= 40000)
    private String hrmMeasurements;

    public Long getId() {
        return id;
    }

    public void setId(Long id) {
        this.id = id;
    }

    public String getHrmMeasurements() {
        return hrmMeasurements;
    }

    public void setHrmMeasurements(String hrmMeasurements) {
        this.hrmMeasurements = hrmMeasurements;
    }

}
你知道我在哪里可以找到问题的根源吗

编辑:

我已删除@Column注释并部署在服务器上-表已成功创建。当我删除了一个表并返回了带有@Column注释的类时,表再次没有被创建

你知道现在该怎么处理吗。。此处的默认大小对我来说不够:-(

windows和ubuntu上的Mysql版本:

5.7.16-0ubuntu0.16.04.1


5.7.11-log

似乎问题出在MySQL数据库中

在我的windows版本中,将列更改为VARCHAR(40000)没有问题。 在我的ubuntu版本中,我不能以同样的方式更改它

一些解决方案是使用:

@Column(columnDefinition = "TEXT")
private String hrmMeasurements;
根据Answer对这个问题的回答 给我们约65千卡