hibernate - 使用 Hibernate Annotation 的文本字段

标签 hibernate annotations blob

我在设置字符串类型时遇到问题,它就像

public void setTextDesc(String textDesc) {
    this.textDesc = textDesc;
}

@Column(name="DESC")
@Lob
public String getTextDesc() {
    return textDesc;
}

它不起作用,我检查了 mysql 架构,它仍然是 varchar(255),我也尝试过,

@Column(name="DESC", length="9000")

@Column(name="DESC")
@Type(type="text")

我正在尝试将类型设置为文本,任何想法将不胜感激!

最佳答案

你说“我检查了 mysql 架构,它仍然是 varchar(255)”——你是否期望 Hibernate 自动更改你的数据库?不会的。即使您设置了 hibernate.hbm2ddl.auto,我也不相信 Hibernate 会更改现有的列定义。

如果您要生成新的数据库创建脚本,如果您没有显式指定长度(或者如果您这样做且长度小于 65536),则 @Lob 应生成“TEXT”类型列。您始终可以通过在 @Column 注释中显式声明类型来强制执行此操作,但请记住这在数据库之间不可移植:

@Column(name="DESC", columnDefinition="TEXT")

关于hibernate - 使用 Hibernate Annotation 的文本字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1281188/

相关文章:

hibernate - 如何捕获c3p0和JPA异常?

java - 当我尝试删除对象时,Hibernate : org. hibernate.WrongClassException

oracle - 如何使用存储过程将文件读入 oracle 数据库

java - 计数语句在 Hibernate 中不起作用

java - Hibernate 设置的字段可以是最终的吗?

java - 我需要消除简单的 Selenium 代码中的错误 "java.util.ConcurrentModificationException"

hibernate ,PostgreSQL : Column "x" is of type oid but expression is of type byte

java - 根据 Struts2 操作中调用的操作方法定义不同的验证

python - 在 Python 中显示 Blob 图像 (App Engine)

java - mysql + 阿兹卡类 : Reading "LongBlob"