Вставьте тип данных поля «Текст» в MySQL, используя EJB 3

 private String message = "";
 public String getMessage() {
  return message;
 }

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

Я использую EJB3 и MySQL 5.1 с использованием Java. Я хочу вставить абзацы текстов в базу данных MySQL с помощью Entity Bean. Но когда я добавляю, MySQL может принимать только 255 символов. Он показывает мне следующую ошибку:

Вызвано: com.mysql.jdbc.MysqlDataTruncation: усечение данных: слишком длинные данные для столбца «сообщение» в строке 1

В настоящее время тип поля сообщения по умолчанию — varchar(255). Можно ли изменить тип поля на «Текст» в Entity Bean или увеличить ограничение с 255 до 1000?


person TTCG    schedule 06.03.2010    source источник
comment
varchar в Mysql имеет максимальную длину 255. Вам придется использовать тип данных «текст».   -  person codaddict    schedule 06.03.2010


Ответы (1)


Вы можете аннотировать свойство с помощью javax.persistence.Lob:

private String message = "";

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

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

Вам также придется обновить свою схему (ALTER TABLE...). Hibernate сделает это автоматически, если вы установите hibernate.hbm2ddl.auto=update.

person Martin    schedule 06.03.2010