当前位置: 首页 > 知识库问答 >
问题:

冬眠中的朗瓦查尔

卫才
2023-03-14

这是财产,

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

编译过程中会抛出此错误,

原因:org.hibernate.tool.schema.spi.SchemaManagementException:模式验证:在表[产品]中的列[描述]中遇到错误的列类型;找到[long text(类型#LONGVARCHAR)],但期望[varchar(255)(类型#VARCHAR)]

我错过了什么?

共有3个答案

徐嘉谊
2023-03-14

对我来说很管用

@Column(name = "DeckName", n`enter code here`ullable = true, columnDefinition = "nvarchar(MAX)")
楚弘益
2023-03-14

我使用@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;
朱和惬
2023-03-14

您可以修改数据库:

ALTER TABLE product MODIFY description VARCHAR(255);

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

或者您可以调整Java代码:

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

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

 类似资料:
  • 另一种方法是使用Crieteria关联,但关联只能与和一起工作! 请在这里帮帮我。

  • 配置类的应用程序侦听器时出现错误 这实际上是我的错误 ** 严重:配置类org的应用程序侦听器时出错。springframework。网状物上下文ContextLoaderListener java。lang.NoClassDefFoundError:javax/servlet/ServletContextListener **在爪哇。lang.ClassLoader。java上的findBoot

  • 我正在阅读一些关于Hibernate的面试问题,并遇到了Hibernate派生的属性。我正在使用@Formula注释尝试一个简单的示例,但它不起作用。谁能告诉我我错过了什么。下面的代码片段 输出和SQL查询显示在最后。 实体(Employee.java) hibernate.cfg.xml 测试类导入org.hibernate.会话;导入org.hibernate.会话工厂;导入org.hiber

  • 问题内容: 这些查询翻译器之间有什么区别(对于Hibernate用户而言,我的意思是不同)。互联网上的一些博客说基于ANTLR的翻译器更快。但是我认为,如果其中一个明显更好,那么Hibernate开发人员将删除另一个。那么..有什么区别?为什么我们都拥有它们?在什么情况下我应该选择第一还是第二?在什么情况下我不应该选择其中一位翻译? 问题答案: 这是 内部休眠配置 ; 它将在升级到版本3时实现 。

  • 我有一个应用程序,它使用hibernate使用注释创建初始数据库。 有人这样做过吗,如果有请告诉我怎么做。或者至少是另一种选择。是否所有的ORM更新都必须用sql脚本手动创建?

  • 我有两个类,“article”包含对“surchargegroup”的@manytoone引用,该“surchargegroup”指定了该文章的附加费。 另一个类“SurchargeGroup”包含一个父对象引用,它可以将附加费继承到“SurchargeGroup”,如果没有设置,则任何父对象都不提供附加费的情况是不可能的。 我现在的问题是,如果我调用“getSurcharge()”方法,我会得到