El requisito es que el usuario pueda escribir un artículo, por lo tanto, elijo el tipo Textpara el contentcampo dentro de la base de datos mysql. ¿Cómo puedo convertirme Java StringenMySQL Text
Aqui tienes Jim Tough
@Entity
public class Article implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private Long userId;
private String title;
private String content;
private Integer vote;
//Constructors, setters, getters, equals and hashcode
}
En mi base de datos MYSQL, contentes type Text. Tenía la esperanza de que hubiera algo así java.sql.Text, ya que java.sql.Blobes un tipo real, pero lamentablemente, eso no existe.

@Lobmás@Columnen un campo de cadena da "tipo de columna incorrecto, texto largo esperado pero el tipo de columna es texto". Pero el problema se resuelve cuando lo usé@Column(columnDefinition = "text")@Loby@Column(length=512)? ¿Por qué no simplemente ser feliz con@Lob? Ambos no hacen ninguna diferencia al usar Hibernate JPA MySQL. Ambos dan como resultado el tipo de campo MySQLlongtext.@Lobanotación no me funcionó. Sin embargo,@Column(length=8192)funcionó muy bien y resolvió mi problema.Con
@Lobsiempre termino con unLONGTEXTen MySQL.Para conseguirlo,
TEXTlo declaro de esa manera (JPA 2.0):@Column(columnDefinition = "TEXT") private String textEncuentre esto mejor, porque puedo elegir directamente qué tipo de texto tendrá la columna en la base de datos.
Porque
columnDefinitiontambién es bueno leer esto .EDITAR: Preste atención al comentario de Adam Siemions y verifique el motor de base de datos que está utilizando, antes de presentar la solicitud
columnDefinition = "TEXT".fuente
para mysql 'texto':
@Column(columnDefinition = "TEXT") private String description;para mysql 'longtext':
@Lob private String description;fuente