您的位置:首页 > 其它

hibernate实体类注解时间类型字段笔记

2015-04-03 23:24 363 查看
@Temporal(TemporalType.TIMESTAMP)    

@Column(nullable=false)

public Date getPublishDate() {return publishDate;}

实体类的get方法上这样配置,hibernate创建表的时候publishDate属性会为datetime

但是如果你的表在创建的时候没有用TIMESTAMP注解而是DATE那么MySQL中字段属性会是date

date在数据库中是没有时分秒的,此时改成TIMESTAMP有可能你会发现数据库表字段属性并没改变

这里有那么个小问题需要注意

hibernate.hbm2ddl.auto这个参数的作用是:自动创建|更新|验证数据库表结构,我的项目是maven项目,框架是spring4+hibernate4

一开始hibernate.hbm2ddl.auto的值是"update",发现字段类型一直没变,改成create就好了,实体类注解改变部署到tomcat的时候表的结构会被修改,但同时数据也都没有了

在生成json字符串的时候时间字段会报这样的错误

这是由于时间转换产生的异常,比如2013-03-23转字符串的时候,格式为yyyy-MM-dd hh:mm:ss就会报错

或者数据库字段为date,而赋值的时候用new Date()
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐