我在互联网上进行搜索,并看到了有关使用mysql中的休眠注释在实体类中设置默认值的想法,并且我将默认值设置为数据类型为整数的列的操作如下。

@Column(name = "COLUMN_NAME", insertable=false, updatable = false, nullable = false, columnDefinition = "int default 1")
protected Integer test_id;

并且工作正常。

但是我还没有看到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`")

具有长度属性:-
`length=100, columnDefinition = "CHAR default `15JUL1980`")`

等等

但是在这种情况下,表不是由休眠创建的,这可能是由于语法错误造成的。
但是,如果我仅使用整数值创建表,则会创建上述表。

最佳答案

下面的代码行工作正常

@Column(name = "cname", insertable=false, updatable = false, nullable = false, columnDefinition = "varchar(255) default '15-JUL-1980'")

10-05 19:18