@Column(columnDefinition)的使用
columnDefinition属性的使用:
@Table(name = "CUSTOMERS") @Entity public class Customer {@Column(name = "ID")@GeneratedValue(strategy = GenerationType.AUTO)@Idprivate 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;...... }
数据库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;
columnDefinition可以指定创建表时一些SQL语句,比如这里可以一次性指定,varchar长度128,且不能为空
当然,相同的结果可以通过nullable和length属性结合实现
@Table(name = "CUSTOMERS") @Entity public class Customer {@Column(name = "ID")@GeneratedValue(strategy = GenerationType.AUTO)@Idprivate Integer id;@Column(name = "Name")private String name;@Column(name = "Email", nullable = true, length = 128)private String email;@Column(name = "Age")private int age;...... }
数据库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;
columnDefinition属性的特殊使用:
编程语言中字符串一般都用String表示,但是数据库中varcahr数值类型有长度限制,一旦需要大文本,则需要text数值类型
但是String类型默认映射的数值类型是varchar,columnDefinition可以进行额外指定
@Table(name = "CUSTOMERS") @Entity public class Customer {@Column(name = "ID")@GeneratedValue(strategy = GenerationType.AUTO)@Idprivate 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;...... }
数据库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;
remark列数值类型是text,而Name和Email默认是varcahr
转载于:https://www.cnblogs.com/powerwu/articles/10564004.html
@Column(columnDefinition)的使用相关推荐
- hibernate annotation注解 columnDefinition用法
column注解中的columnDefinition属性用于覆盖数据库DDL中的语句:(MySql) @Column(columnDefinition = "int(11) DEFAULT ...
- java column_@Column注解属性详解
name 定义了被标注字段在数据库表中所对应字段的名称: unique 表示该字段是否为唯一标识,默认为false.如果表中有一个字段需要唯一标识,则既可以使用该标记,也可以使用@Table标记中的@ ...
- @Column注解解析
功能:@Column注解用来标识实体类中属性与数据表中字段的对应关系 语法: @Column(columnDefinition = "bigint(18) comment '公司ID'&qu ...
- @Column注解介绍
用于指定列的相关属性name - 可选,表示数据库表中列的名称.默认为属性或字段名称.nullable - 可选,表示该字段是否允许为 null,默认为 true(null)若设置为false 则该列 ...
- 3、JPA一些常用的注解
常用注解有下面这些: ①:@Entity.@Table.@Id.@GeneratedValue.@Column.@Basic ②:@Transient 用于忽略某个属性,而不对该属性进行持久化操作 ③ ...
- @CreatedDate@CreatedBy@LastModifiedBy@LastModifiedDate
实体类,注意需要加上@EntityListeners(AuditingEntityListener.class)这个注解才能使@CreatedDate@LastModifiedDate生效 packa ...
- 枚举保存到数据库中为序号解决方案
普通枚举转换配置 枚举类 package com.gecko.charging.partner.enums;import com.alibaba.fastjson.annotation.JSONTyp ...
- mybatis date类型映射_MapStruct 映射工具
MapStruct 映射工具 本篇主要讲解MapStruct 一款映射工具,只需简单的定义一个Mapper接口,在编译期间,MapStruct将生成此接口的实现,据说MapStruct性能最高是Spr ...
- Spring常见注解
1.@SpringBootApplication 这里先单独拎出 @SpringBootApplication 注解说一下,虽然我们一般不会主动去使用它. 这个注解是 Spring Boot 项目的基 ...
最新文章
- ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route
- [转载]Array.prototype.slice.call(arguments,1)原理
- .NET开发中的连接字串
- 使用MLeaksFinder检测项目内存泄露总结
- 批量绑定(bulk binds):FOR循环与FORALL的性能比较
- highroller赌城java下载,非常有用的链接
- apache poi使用例_GitHub - cooker/poi-examples: apache poi 使用案例
- 中科院等发布《2019研究前沿》
- C++_类和对象_C++继承_继承中的对象模型_占内存大小---C++语言工作笔记063
- 使用JAVA的keytool生成jks证书,通过jks证书生成pfx证书,tomcat配置https
- 将PDF转为TXT文本格式提取中文
- vmware 14 密钥
- 3个月攻破CCNA:12周教程资料盘点
- 【SSM - Spring篇06】Spring数据库编程 - JdbcTemplate(Spring jdbc模板)
- Pascal基础教程
- ATV320、ATV32变频器报tnF如何处理?
- 计算机应用于针灸,中医针灸临床治疗专家系统的研究与实现
- elasticsearch创建索引和mapping
- eclipse修改自定义皮肤
- linux u盘版下载官网,Linux助手:Universal USB Installer新版下载
热门文章
- 设计师常用的素材网站有哪个推荐
- android 锁屏后定时器,iOS锁屏或者后台计时器定时解决方法
- iThenticate查重系统的使用及如何去除参考文献
- C++ 0X学习 (1)
- vba 跳出for循环_ExcelVBA的三重FOR循环退出
- 计算机术语access,计算机英语词汇术语:access(存取,访问)
- 中国国内如何使用chatgpt?
- 编写一个程序,输入直角三角形的两个直角边的长度a、b,求斜边c的长度。
- 关于面试的方法和技巧都有哪些呢?
- 离散度计算公式 python_Python分析离散心率信号(中)