2011-05-10 3 views
4

상속 한 프로젝트에서 hbm2ddl.auto = validate를 활성화하려고했습니다. 이제 text 또는 mediumtext (MySQL 데이터베이스)로 매핑되는 String 속성에 대해 잘못된 열 유형 예외가 많이 발생합니다.최대 절전 모드 문제 hbm2ddl.auto = 유효성 검사 및 MySQL 텍스트 유형

매핑은 다음과 같습니다

@Column(name = "DESCRIPTION", nullable = false, length = 65535) 
@Length(max = 65535) 
@NotNull 
public String getDescription() { 
    return this.description; 
} 

그리고 DB에있는 데이터 형식 '텍스트'(utf8_general_ci)입니다.

나는 이것이 올바른 매핑이되어야한다고 생각했지만 Hibernate는 텍스트를 발견했지만 긴 텍스트를 기다리고 있다고 불평했다.

최대 절전 모드 구성을 확인했지만 대화 상자가 지정되지 않았습니다. 내가 추가했습니다

<property name="hibernate.dialect" value="org.hibernate.dialect.MySQLInnoDBDialect"/> 

하지만 차이는 없습니다.

나는 columnDefinition = "text"를 매핑에 추가 할 수 있다는 것을 알고 있지만, 많은 곳에서 그렇게해야 할 것이고 IMHO 매핑은 이미 정확해야합니다. 무슨 일이 생길까요? 어떤 아이디어?

감사

답변

4

당신은 다음과 같이 columnDefinition는 주석을 @Column에 추가 할 수 있습니다

@Column(name = "DESCRIPTION", nullable = false, length = 65535, columnDefinition="TEXT")