Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 冬眠中的朗瓦查尔_Java_Database_Hibernate_Spring Boot - Fatal编程技术网

Java 冬眠中的朗瓦查尔

Java 冬眠中的朗瓦查尔,java,database,hibernate,spring-boot,Java,Database,Hibernate,Spring Boot,这是物业, @Column( name = "description") private String description; 这是MySql表 编译过程中会抛出此错误 原因:org.hibernate.tool.schema.spi.SchemaManagementException:架构验证:表[product]中的[description]列中遇到错误的列类型;已找到[longtext(类型#LONGVARCHAR)],但应为[varchar(255)(类型#varchar)] 我缺

这是物业,

@Column( name = "description")
private String description;
这是MySql表

编译过程中会抛出此错误

原因:org.hibernate.tool.schema.spi.SchemaManagementException:架构验证:表[product]中的[description]列中遇到错误的列类型;已找到[longtext(类型#LONGVARCHAR)],但应为[varchar(255)(类型#varchar)]


我缺少什么?

您可以修改数据库:

ALTER TABLE product MODIFY description VARCHAR(255);
如果描述值超过255个字符,这个简单的
ALTER TABLE
命令可能会失败,因此您可能需要创建一个新列,转换值并删除原始列

或者您可以调整Java代码:

@Lob
@Column(name = "description", columnDefinition = "LONGTEXT")
private String description;
您可以先尝试省略
列定义
,它可能是Hibernate默认的MySQL文本LOB。

对我来说,很有效

@Column(name = "DeckName", n`enter code here`ullable = true, columnDefinition = "nvarchar(MAX)")
我使用了@Type(org.hibernate.annotations.Type;),它可以工作:

`addresses` text CHARACTER SET utf8 COLLATE utf8_bin NULL DEFAULT NULL

@Column(columnDefinition = "text")
@Type(type = "text")
private String addresses;

您的
hbm2ddl
application.properties
中的设置是什么?@Jan Halasa,hbm2ddl是有效的。如果
找到了[mediumblob(Types#LONGVARBINARY)],但需要[longtext(Types#LONGVARCHAR)]