使用Hibernate注释的文本字段
我有麻烦设置一个string的types,它像
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")
我正在尝试使types为文本,任何想法将不胜感激!
你说:“我检查了mysql模式,它仍然是varchar(255)” – 你希望Hibernate自动改变你的数据库? 它不会。 即使你有hibernate.hbm2ddl.auto
集,我不相信Hibernate会改变现有的列定义。
如果你要生成新的数据库创build脚本,@ @Lob
应该生成“TEXT”types列,如果你没有明确指定长度(或者如果你这样做,那么65536)。 你总是可以通过在@Column
注解中显式声明types来强制这样做,但是要记住在数据库之间不可移植:
@Column(name="DESC", columnDefinition="TEXT")