Java Hibernates hbm2ddl.auto=validate和MySQL文本类型存在问题
我已尝试在继承的项目上启用hbm2ddl.auto=validate。现在,对于使用text或mediumtext(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
@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")