2016-11-30 7 views
0

スタートアップコンソールが印刷例外を発生した場合、SpringブートJPAマッピングのMySQLテキストタイプの列。スキーマ検証:テーブル[*]の列[*]に誤った列タイプが見つかりました。 [*]が見つかりましたが、[*]があります。

pom.xml

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.4.1.RELEASE</version> 
    <relativePath /> 
</parent> 
<dependencyManagement> 
    <dependencies> 
     <dependency> 
      <groupId>org.springframework.cloud</groupId> 
      <artifactId>spring-cloud-dependencies</artifactId> 
      <version>Brixton.RELEASE</version> 
      <type>pom</type> 
      <scope>import</scope> 
     </dependency> 
    </dependencies> 
</dependencyManagement> 

エンティティ:

@Column(name = "description", nullable = false, length = 65535, columnDefinition="TEXT") 
    @Type(type="org.hibernate.type.StringClobType") 
    private String description; 

コンソール情報:

Caused by: org.hibernate.tool.schema.spi.SchemaManagementException: Schema-validation: wrong column type encountered in column [description] in table [kw_product]; found [text (Types#LONGVARCHAR)], but expecting [varchar(255) (Types#VARCHAR)] 
    at org.hibernate.tool.schema.internal.SchemaValidatorImpl.validateColumnType(SchemaValidatorImpl.java:105) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final] 
    at org.hibernate.tool.schema.internal.SchemaValidatorImpl.validateTable(SchemaValidatorImpl.java:92) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final] 
    at org.hibernate.tool.schema.internal.SchemaValidatorImpl.doValidation(SchemaValidatorImpl.java:50) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final] 
    at org.hibernate.tool.hbm2ddl.SchemaValidator.validate(SchemaValidator.java:91) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final] 
    at org.hibernate.internal.SessionFactoryImpl.<init>(SessionFactoryImpl.java:475) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final] 
    at org.hibernate.boot.internal.SessionFactoryBuilderImpl.build(SessionFactoryBuilderImpl.java:444) ~[hibernate-core-5.0.11.Final.jar:5.0.11.Final] 
    at org.hibernate.jpa.boot.internal.EntityManagerFactoryBuilderImpl.build(EntityManagerFactoryBuilderImpl.java:879) ~[hibernate-entitymanager-5.0.11.Final.jar:5.0.11.Final] 
    ... 21 common frames omitted 
+0

エラーで説明したように、 'description'カラムの' 'varchar(255)(Types#VARCHAR) ''を期待していますが、' [text(Types#LONGVARCHAR)] 'あなたの列の型はデータベースにあります。 –

+0

私はこの同じエラーがあります、奇妙なことは、データベース内の私の列は "varchar(最大)"ですが、エラーが "longvarchar"がまだ見つかったと言います。それは間違っていませんか?また、 "@ Column"アノテーションに "VARCHAR(MAX)NULL"という列定義を指定しても、 "varchar(255)"ではなく "varchar(max)"を期待する以外は同じエラーが発生します。 – nonzaprej

答えて

-2

私はorg.hibernate.tool.schema.internal.SchemaValidatorImpl 方法validateColumnTypeを変更するコードを追加します。 :

関連する問題