我在设置字符串的类型时遇到了问题
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,任何想法都将受到赞赏!
我在互联网上搜索并看到有关在mysql中使用hibernate注释在实体类中设置默认值的想法,我已经完成了将默认值设置为具有数据类型整数的列,如下所示.
@Column(name = "COLUMN_NAME", insertable=false, updatable = false, nullable = false, columnDefinition = "int default 1")
protected Integer test_id;
Run Code Online (Sandbox Code Playgroud)
并且工作正常.
但是我还没有看到任何varchar/string数据类型的例子,我在columnDefinition中尝试过不同的类型,比如
columnDefinition = "TEXT default `TEST`"
columnDefinition = "TEXT default TEST"
columnDefinition = "varchar(255) default `15-JUL-1980`")
columnDefinition = "varchar(255) default 15-JUL-1980")
columnDefinition = "varchar default 15-JUL-1980")
columnDefinition = "varchar default `15-JUL-1980`")
columnDefinition = "CHAR(100) default `15JUL1980`")
columnDefinition = "CHAR default `15JUL1980`")
Run Code Online (Sandbox Code Playgroud)
具有长度属性: -
`length=100, columnDefinition = "CHAR default `15JUL1980`")`
Run Code Online (Sandbox Code Playgroud)
等等
但在这种情况下,表不是由hibernate创建的,这可能是由于语法错误造成的.但是,如果我创建的表只包含整数值,则会创建表.