2010-03-06 48 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个字符。它显示我以下错误:使用EJB将'Text'字段数据类型插入MySQL 3

引起:com.mysql.jdbc.MysqlDataTruncation:数据截断:数据太长在行列“消息” 1

目前,消息的字段类型是VARCHAR(255 ) 默认。无论如何要将实体Bean中的字段类型更改为“文本”或将限制255增加到1000?

+0

VARCHAR的Mysql有255的最大长度你必须使用一个“文本”数据类型。 – codaddict 2010-03-06 02:31:03

回答

1

您可以javax.persistence.Lob注释属性:

private String message = ""; 

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

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

你将不得不更新架构太(ALTER TABLE ...)。如果您设置hibernate.hbm2ddl.auto=update,休眠会自动为您执行此操作。