使用EJB 3将“Text”字段数据类型插入MySQL

时间:2010-03-06 02:28:29

标签: java mysql jpa ejb-3.0

 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:数据截断:第1行的列'消息'的数据太长

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

1 个答案:

答案 0 :(得分: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,Hibernate会自动为您执行此操作。