ber*_*rdw 47 annotations hibernate blob
我在设置字符串的类型时遇到了问题
public void setTextDesc(String textDesc) {
this.textDesc = textDesc;
}
@Column(name="DESC")
@Lob
public String getTextDesc() {
return textDesc;
}
Run Code Online (Sandbox Code Playgroud)
它没有用,我检查了mysql架构,它仍然是varchar(255),我也尝试过,
@Column(name="DESC", length="9000")
Run Code Online (Sandbox Code Playgroud)
要么
@Column(name="DESC")
@Type(type="text")
Run Code Online (Sandbox Code Playgroud)
我正在努力使类型成为TEXT,任何想法都将受到赞赏!
Chs*_*y76 85
你说"我检查了mysql架构并且它仍然是varchar(255)" - 你是否希望Hibernate自动改变你的数据库?它不会.即使你已经hibernate.hbm2ddl.auto设置,我也不相信Hibernate会改变现有的列定义.
如果您要生成新的数据库创建脚本,@Lob如果未明确指定长度(或者如果您这样做并且它小于65536),则应生成"TEXT"类型列.您可以通过显式声明@Column注释中的类型来强制执行此操作,但请记住,数据库之间不可移植:
@Column(name="DESC", columnDefinition="TEXT")
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
69978 次 |
| 最近记录: |