Java Hibernates hbm2ddl.auto=validate和MySQL文本类型存在问题

Java Hibernates hbm2ddl.auto=validate和MySQL文本类型存在问题,java,mysql,hibernate,hbm2ddl,Java,Mysql,Hibernate,Hbm2ddl,我已尝试在继承的项目上启用hbm2ddl.auto=validate。现在,对于使用text或mediumtext(MySQL数据库)映射的字符串属性,我遇到了很多错误的列类型异常 映射为: @Column(name = "DESCRIPTION", nullable = false, length = 65535) @Length(max = 65535) @NotNull public String getDescription() { return this.description

我已尝试在继承的项目上启用hbm2ddl.auto=validate。现在,对于使用text或mediumtext(MySQL数据库)映射的字符串属性,我遇到了很多错误的列类型异常

映射为:

@Column(name = "DESCRIPTION", nullable = false, length = 65535)
@Length(max = 65535)
@NotNull
public String getDescription() {
    return this.description;
} 
数据库中的数据类型为“text”(utf8\u general\u ci)

我认为这应该是正确的映射,但Hibernate抱怨说它找到了文本,但期望得到长文本

我已经检查了hibernate配置,没有指定对话框。我补充说

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/>

但这似乎没有什么区别

我知道我可以将columnDefinition=“text”添加到映射中,但我必须在很多地方这样做,而且映射应该已经正确了。那么到底出了什么问题?有什么想法吗


谢谢

您必须将columnDefinition添加到@Column注释中,如下所示:

@Column(name = "DESCRIPTION", nullable = false, length = 65535, columnDefinition="TEXT")