JavaHibernate-Mysql模式验证:列中遇到错误的列类型

JavaHibernate-Mysql模式验证:列中遇到错误的列类型,java,mysql,sql,hibernate,debian,Java,Mysql,Sql,Hibernate,Debian,我有一个Springboot Java 8应用程序,可以连接到MySql 8数据库。 应用程序调用一个SQL视图,该视图有一个类型为TEXT的列。(我不知道它为什么会得到这种类型,因为它是一个~40个字符长的连接字符串,就像其他得到VARCHAR类型的字符串一样。)。视图实体中的这些字段声明为字符串 如果应用程序部署在3台计算机上(2台windows,1台Ubuntu20.04),全部使用mysql 8,那么它就可以正常工作。 但在另一台Debian 10机器上,它在开始验证时写入以下错误:or

我有一个Springboot Java 8应用程序,可以连接到MySql 8数据库。 应用程序调用一个SQL视图,该视图有一个类型为TEXT的列。(我不知道它为什么会得到这种类型,因为它是一个~40个字符长的连接字符串,就像其他得到VARCHAR类型的字符串一样。)。视图实体中的这些字段声明为字符串

如果应用程序部署在3台计算机上(2台windows,1台Ubuntu20.04),全部使用mysql 8,那么它就可以正常工作。 但在另一台Debian 10机器上,它在开始验证时写入以下错误:
org.hibernate.tool.schema.spi.SchemaManagementException:schema验证:在表[bejovoszamla_tetelek_视图]的列[meossz]中遇到错误的列类型;已找到[文本(类型#LONGVARCHAR)],但应为[长文本(类型#VARCHAR)]

我不知道为什么相同的应用程序具有相同的设置,具有相同版本的mysql(8.0.25)在两台机器上的工作方式不同。对于windows机器,我刚刚从mysql网站下载了最新版本。对于它工作的Ibuntu机器,我已经使用apt-get从Ubuntu存储库安装了它。 对于不工作的Debian机器,我使用了官方的repo.mysql.com和apt-get


有什么问题吗?为什么工作方式不同?如何使JPA接受字符串字段的所有SQL结果数据类型?

spring.JPA.hibernate。使用new id generator mappings=false到application.properties解决了该问题


但是我仍然不明白为什么只在这台机器上需要这个,而在其他机器上却不需要这个?

模式是如何创建的?db脚本。但是使用相同脚本创建的所有计算机上的所有DB。