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