【问题标题】:Insert 'Text' field data type into MySQL using EJB 3使用 EJB 3 将“文本”字段数据类型插入 MySQL
【发布时间】:2010-03-06 02:28:28
【问题描述】:
 private String message = "";
 public String getMessage() {
  return message;
 }

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

我正在使用 EJB3 和使用 Java 的 MySQL 5.1。 我想使用实体 Bean 将文本段落插入 MySQL 数据库。 但是,当我添加时,MySQL 只能接受 255 个字符。它向我显示以下错误:

原因:com.mysql.jdbc.MysqlDataTruncation:数据截断:对于第 1 行的列“消息”而言,数据太长

目前,message 的字段类型默认为 varchar(255)。无论如何在Entity Bean中将字段类型更改为“文本”或将限制255增加到1000?

【问题讨论】:

  • Mysql 的 varchar 的最大长度为 255。您必须使用“文本”数据类型。

标签: java mysql jpa ejb-3.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 会自动为您执行此操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-12-06
    • 1970-01-01
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    相关资源
    最近更新 更多