java hibernate 中的龙瓦尔查尔

mgdq6dx1  于 2023-01-11  发布在  Java
关注(0)|答案(3)|浏览(125)

这是我们的财产

@Column( name = "description")
private String description;

这是MySql表x1c 0d1x
在编译过程中,会抛出此错误,
导致原因:组织。休眠。工具。架构。spi。架构验证:在表[product]的列[description]中遇到错误的列类型;找到[长文本(类型#LONGVARCHAR)],但应为[varchar(255)(类型#VARCHAR)]
我错过了什么?

4nkexdtk

4nkexdtk1#

您可以修改数据库:

ALTER TABLE product MODIFY description VARCHAR(255);

如果描述值超过255个字符,这个简单的ALTER TABLE命令可能会失败,因此您可能需要创建一个新列,转换值并删除原始列。
或者您可以调整Java代码:

@Lob
@Column(name = "description", columnDefinition = "LONGTEXT")
private String description;

您可以尝试先忽略columnDefinition,它可能是Hibernate的默认MySQL文本LOB。

mzaanser

mzaanser2#

我使用了@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;
flmtquvp

flmtquvp3#

对我来说,很管用

@Column(name = "DeckName", n`enter code here`ullable = true, columnDefinition = "nvarchar(MAX)")

相关问题