我的情况是数据库列的数据类型为mediumtext
。我的实体有以下界面:
@Lob
@Column(name = "data", length = 16777215)
public String getData() {
return this.data;
}
当我部署到我的服务器时,我收到此错误:
HibernateException: Wrong column type in dme42_apns.appboxdatastore for column data.
Found: mediumtext, expected: longtext
我尝试使用以下代码制作我自己的MySQLDialect,但没有帮助:
@Override
protected void registerVarcharTypes() {
super.registerVarcharTypes();
registerColumnType(Types.VARCHAR, 16777215, "mediumtext");
registerColumnType(Types.VARCHAR, 65535, "text");
}
有没有人知道为什么hibernate映射会这样?
答案 0 :(得分:1)
您可以向Hibernate提供有关数据类型的提示:
Map<A, List<B>> result = map1.entrySet().stream()
.filter(entry -> entry.getValue().stream().noneMatch(
b -> map2.getOrDefault(entry.getKey(), emptyList()).contains(b.c)
))
.collect(toMap(Entry::getKey, Entry::getValue));