Java JPA设置默认值、Timestamp设置、自动获取时间
设置默认值
@Column(name="state",columnDefinition="tinyint default 0")
private Integer state=0;
columnDefinition在创建表的时候使用
其他时候可以采用直接赋值的方式:
private Integer state=0;
Timestamp设置
注解@org.hibernate.annotations.Generated来标识一个已生成属性
@Column(name="CREATE_TIME",columnDefinition="TIMESTAMP DEFAULT CURRENT_TIMESTAMP",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 '活动开始时间'")可以设置默认值、可以生成注释
自动创建时间、修改时间
1.实体类加注解
/**
* 创建时间
*/
@CreatedDate
@Column(name = "create_time")
private Date createTime;
/**
* 修改时间
*/
@LastModifiedDate
@Column(name = "modify_time")
private Date modifyTime;
2.实体类头加注解
@EntityListeners(AuditingEntityListener.class)
3.SpringBoot启动类加注解
@EnableJpaAuditing
Java JPA设置默认值、Timestamp设置、自动获取时间的更多相关文章
- java 反射: 当Timestamp类型的属性值为null时,设置默认值
import java.beans.PropertyDescriptor; import java.lang.reflect.Field; import java.lang.reflect.Metho ...
- JPA为字段设置默认值
http://blog.csdn.net/u011983531/article/details/51286839 在使用JPA时,如果需要为属性设置默认值,很自然的,你可能会想到用下面的方式. @Co ...
- Jpa设置默认值约束
使用SpringDataJpa设置字段的默认值约束的2种方式 // 第一种方式是修改建表时的列定义属性 @Column(columnDefinition = "varchar(35) def ...
- 《Entity Framework 6 Recipes》中文翻译系列 (14) -----第三章 查询之查询中设置默认值和存储过程返回多结果集
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 3-6在查询中设置默认值 问题 你有这样一个用例,当查询返回null值时,给相应属性 ...
- mysql datetime设置now()无效,直接用程序设置默认值比较好
mysql datetime设置now()无效的,没有此用法,datetime类型不能设置函数式默认值,只能通过触发器等来搞.想设置默认值,只能使用timestamp类型,然后默认值设置为:CURRE ...
- 关于daterangepicker取消默认值的设置
1.项目中用到了daterangepicker这个插件,需求要求不能有默认值. 2.查资料得知,可以修改插件内的属性 autoUpdateInput值来实现这个效果. 顾虑有二: 1.修改插件内容,导 ...
- PowerDesigner设置默认值名称规则
一.需求背景: 使用PowerDesigner创建表时,若设置某列默认值时,自动生成规则的默认值名称.比如说:DF_表名_列名 二.设置步骤: 1.选择Database—>Edit Curren ...
- ng-option指令使用记录,设置默认值需要注意
ng-options一般有以下用法: 数组作为数据源: label for value in array select as label for value in array label group ...
- EF Core1.0 CodeFirst为Modell设置默认值!
当我们使用CodeFirst时,有时候需要设置默认值! 如下 ; public string AdminName {get; set;} = "admin"; public boo ...
随机推荐
- Android视频处理 --处理视频第一帧缩略图
从API 8开始,新增了一个类: android.media.ThumbnailUtils这个类提供了3个静态方法一个用来获取视频第一帧得到的Bitmap,2个对图片进行缩略处理. ? 1 publi ...
- 组件内导航之beforeRouteUpdate的使用
使用场景: 组件复用:路由跳转: beforeRouteUpdate (to, from, next) { // 在当前路由改变,但是该组件被复用时调用 // 举例来说,对于一个带有动态参数的路径 / ...
- Oracle数据库表空间查看和更改
set linesize 200 --设置输出一行字符个数为200 1.查看表空间名称和大小(单位MB) SELECT t.tablespace_name, round(SUM(bytes / (1 ...
- vue 自己写的一个日历
样式: //quanbu全部代码 <template> <div class="priceListContent clearfix"> <!-- 顶部 ...
- PixelShuffle
- ASP.NET中调用百度地图API
1.打开链接http://developer.baidu.com/map/jshome.htm这里有很多DEMO,或者你直接百度搜索“百度地图API”,第一个就是.进入后有很多方向供你选择,由于现在开 ...
- Loading class `com.mysql.jdbc.Driver'. This is deprecated警告处理,jdbc更新处
1.报错信息是这样的; 处理:提示信息表明数据库驱动com.mysql.jdbc.Driver'已经被弃用了.应当使用新的驱动com.mysql.cj.jdbc.Driver' 所以,按照提示更改jd ...
- 歌手详情数据处理和Song类的封装
我们现在每首歌曲的数据都是这样的 我们需要在这个数据里面去提取我们需要的部分,来构造成我们需要的数据对象 那我们要和创建singer.js一样 同样也要创建song.js类 我们还要获取到每首歌对应 ...
- fixture之autouse=True
平常写自动化用例会写一些前置的fixture操作,用例需要用到就直接传该函数的参数名称就行了.当用例很多的时候,每次都传这个参数,会比较麻烦.fixture里面有个参数autouse,默认是Fasle ...
- 正则表达式分组(Grouping)
一 捕获型 (x) 匹配 x ,并且捕获匹配项 const regExp = /(\w+)\s+(\d+)/; const str = 'Android 8'; str.replace(regExp, ...