转自:http://blog.csdn.net/sushengmiyan/article/details/50360451
1.设置默认值
@Column(name="state",columnDefinition="tinyint default 0")
private Integer state=0;
columnDefinition在创建表的时候使用
其他时候可以采用直接赋值的方式:
2.Timestamp设置
注解@org.hibernate.annotations.Generated来标识一个已生成属性
@Column(name="CREATE_TIME",insertable=false, updatable=false) @Generated(GenerationTime.INSERT) private Timestamp createTime;GenerationTime的可用的设置选项是ALWAYS和INSERT
当使用ALWAYS的时候,Hibernate每次执行SQL UPADATE或者INSERT插入的时候就会刷新实体
使用GenerationTime.INSERT,只会在SQL INSERT的时候出现,来获取数据库的默认值
属性也应该标识为只读,只读属性使用注解@Column的updatable和insertable来实现
如果两个都设置了false,属性列表就用于不会在INSERT或者UPADATE语句中出现了,这些列的数值就由数据库来产生值
@ColumnDefault属性注解,设置列表的默认属性,当hibernate导出和生成SQL schenma DDL的时候
@Temporal注解来声明映射的SQL数据类型
如果使用了converter转换器之后,注解是不需要了
@Column(columnDefinition="timestamp default current_timestamp comment '活动开始时间'")可以设置可以生成注释