gpt4 book ai didi

mysql - 通过 ORMLite(不是 LONGVARCHAR)保留文本 SQL 类型

转载 作者:行者123 更新时间:2023-11-29 08:31:19 24 4
gpt4 key购买 nike

使用 DataType.LONG_STRING 属性值保留为处理较长字符串的 SQL 类型 LONGVARCHAR。

但是,我想将该字段映射到 SQL 类型 TEXT 。

@DatabaseField(dataType = DataType.LONG_STRING)
String comment;

因为有difference between LONGVARCHAR and TEXT SQL Type 、DataType.LONG_STRING值并不能解决问题

最佳答案

因此,默认情况下,LONG_STRING 类型应该生成 TEXT 作为模式——例如 Postgres 和 MySQL 就是这样做的。您使用什么数据库类型? Derby 生成 LONG VARCHAR、Hsqldb LONGVARCHAR 和 Oracle LONG。我认为这是出于兼容性原因。

有几种方法可以覆盖 ORMLite 的架构。产生。最简单的方法是使用 columnDefinition part of the @DatabaseField 自行定义列。 :

@DatabaseField(columnDefinition = "TEXT")
String comment;

如果您要对数据库兼容性代码进行更复杂的更改,您还可以覆盖您正在使用的DatabaseType。在这种情况下,您可以重写 appendLongStringType(...) 方法来生成不同的架构。我会覆盖 DerbyDatabaseType 或您正在使用的任何数据库,然后添加类似以下内容:

@Override
protected void appendLongStringType(StringBuilder sb, FieldType fieldType,
int fieldWidth) {
sb.append("TEXT");
}

关于mysql - 通过 ORMLite(不是 LONGVARCHAR)保留文本 SQL 类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16516762/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com