@Column(columnDefinition)的使用
来源:互联网 发布:算法 第三版 pdf 编辑:程序博客网 时间:2024/06/14 03:12
columnDefinition属性的使用:
@Table(name = "CUSTOMERS")@Entitypublic class Customer { @Column(name = "ID") @GeneratedValue(strategy = GenerationType.AUTO) @Id private Integer id; @Column(name = "Name") private String name; @Column(name = "Email",columnDefinition="varchar(128) not null") private String email; @Column(name = "Age") private int age; ......}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
数据库DDL:
CREATE TABLE `customers` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Age` int(11) DEFAULT NULL, `Email` varchar(128) NOT NULL, `Name` varchar(255) DEFAULT NULL, PRIMARY KEY (`ID`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
columnDefinition可以指定创建表时一些SQL语句,比如这里可以一次性指定,varchar长度128,且不能为空
当然,相同的结果可以通过nullable和length属性结合实现
@Table(name = "CUSTOMERS")@Entitypublic class Customer { @Column(name = "ID") @GeneratedValue(strategy = GenerationType.AUTO) @Id private Integer id; @Column(name = "Name") private String name; @Column(name = "Email", nullable = true, length = 128) private String email; @Column(name = "Age") private int age; ......}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
数据库DDL:
CREATE TABLE `customers` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Age` int(11) DEFAULT NULL, `Email` varchar(128) DEFAULT NULL, `Name` varchar(255) DEFAULT NULL, PRIMARY KEY (`ID`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
columnDefinition属性的特殊使用:
编程语言中字符串一般都用String表示,但是数据库中varcahr数值类型有长度限制,一旦需要大文本,则需要text数值类型
但是String类型默认映射的数值类型是varchar,columnDefinition可以进行额外指定
@Table(name = "CUSTOMERS")@Entitypublic class Customer { @Column(name = "ID") @GeneratedValue(strategy = GenerationType.AUTO) @Id private Integer id; @Column(name = "Name") private String name; @Column(name = "Email", nullable = true, length = 128) private String email; @Column(name = "Age") private int age; @Column(name = "Remark",columnDefinition="text") private String remark; ......}
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
数据库DDL:
CREATE TABLE `customers` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `Age` int(11) DEFAULT NULL, `Email` varchar(128) DEFAULT NULL, `Name` varchar(255) DEFAULT NULL, `Remark` text, PRIMARY KEY (`ID`)) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
remark列数值类型是text,而Name和Email默认是varcahr
阅读全文
0 0
- @Column(columnDefinition)的使用
- 6. JPA @Column的columnDefinition属性使用详解
- Hibernate @Column、columnDefinition等简介
- 【坑】hibernate中使用@Column中的columnDefinition设置默认值,但是还可以为空和设置了默认值但没有效果
- RowDefinition columnDefinition 的height width的几种值
- mysql 协议的ColumnDefinition包及解析
- @Column 的使用
- column new_value的使用
- Oracle格式化输出列COLUMN的使用
- oracle wm_concat(column)函数的使用
- oracle wm_concat(column)函数的使用
- oracle wm_concat(column)函数的使用
- oracle wm_concat(column)函数的使用
- oracle wmsys.wm_concat(column)函数的使用
- oracle wm_concat(column)函数的使用
- oracle wm_concat(column)函数的使用
- oracle wm_concat(column)函数的使用
- oracle wm_concat(column)函数的使用
- 最速下降法和共轭梯度法
- java_时间戳与Date_相互转化
- 奥威Power-BI医药行业BI解决方案——门店连带率分析
- CCF 201604-04 游戏 BFS+时间限制
- 华为2018校招
- @Column(columnDefinition)的使用
- docker的volume管理
- 如何提高laravel的报错级别
- py requests包 headers 以及 cookies 的 demo
- spring boot web综合开发
- 大数据、云计算系统高级架构师课程学习路线图
- 服务器内启动多个Tomcat布署项目
- hbase 修改表名 Java api(shell)
- appweb学习记录---代码编译