2010-03-06 6 views
2
private String message = ""; 
public String getMessage() { 
    return message; 
} 

public void setMessage(String message) { 
    this.message = message; 
} 

Java를 사용하여 EJB3 및 MySQL 5.1을 사용하고 있습니다. Entity Bean을 사용하여 MySQL 데이터베이스에 텍스트 단락을 삽입하고 싶습니다. 그러나 추가 할 때 MySQL은 255 자까지만 허용합니다. com.mysql.jdbc.MysqlDataTruncation :EJB 3를 사용하여 MySQL에 '텍스트'필드 데이터 유형을 삽입하십시오.

의해 발생 : 데이터 잘림 : 데이터가 너무 긴 행에서 열 '메시지'1

은 현재 메시지의 필드 유형은 VARCHAR (255 그것은 내게 같은 오류를 나타낸다) 기본적으로. 어쨌든 Entity Bean에서 필드 유형을 "텍스트"로 변경하거나 제한을 255에서 1000으로 늘리십시오.

+0

Mysql의 varchar의 최대 길이는 255입니다. '텍스트'데이터 유형을 사용해야합니다. – codaddict

답변

1

당신은 javax.persistence.Lob와 속성을 주석을 달 수 있습니다 :

private String message = ""; 

@Lob 
public String getMessage() { 
    return message; 
} 

public void setMessage(String message) { 
    this.message = message; 
} 

당신은 (... 표를 ALTER) 너무 스키마를 업데이트해야합니다. hibernate.hbm2ddl.auto=update으로 설정하면 Hibernate가 자동으로이 작업을 수행합니다.

관련 문제