在MYSQL中使用hibernate注释设置默认值 [英] Set default values using hibernate annotations in MYSQL

查看:298
本文介绍了在MYSQL中使用hibernate注释设置默认值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在互联网上搜索过,并看到有关在mysql中使用hibernate注释来设置实体类中的默认值的想法,并且我已经完成了将数据类型integer设置为column的默认值,如下所示。

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

并且工作正常。

但我没有看到任何varchar / string数据类型的例子,并且我尝试了columnDefinition中的不同类型,例如,

  columnDefinition = TEXT默认`TEST`
columnDefinition =TEXT默认测试
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默认`15JUL1980`)`

等。



但在这种情况下,表格未创建通过休眠,这可能是由于错误的语法。
但是,如果我创建的表只有整数值,如上面的表创建。

解决方案

工作正常

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


I have searched on internet and seen ideas about setting default values in entity class using hibernate annotations in mysql and I have done with setting default values to column with datatype integer only as follows.

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

and is working fine.

But I haven't seen any example for varchar/string datatype and I have try with different types in columnDefinition like,

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`")

With length attribute:-

`length=100, columnDefinition = "CHAR default `15JUL1980`")` 

etc.

but in this case table is not created by hibernate, that may be due to wrong syntax. But if I am creating the table with only integer values as above table is created.

解决方案

Below line of code is working fine

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

这篇关于在MYSQL中使用hibernate注释设置默认值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆