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)的使用相关推荐

  1. hibernate annotation注解 columnDefinition用法

    column注解中的columnDefinition属性用于覆盖数据库DDL中的语句:(MySql) @Column(columnDefinition = "int(11) DEFAULT ...

  2. java column_@Column注解属性详解

    name 定义了被标注字段在数据库表中所对应字段的名称: unique 表示该字段是否为唯一标识,默认为false.如果表中有一个字段需要唯一标识,则既可以使用该标记,也可以使用@Table标记中的@ ...

  3. @Column注解解析

    功能:@Column注解用来标识实体类中属性与数据表中字段的对应关系 语法: @Column(columnDefinition = "bigint(18) comment '公司ID'&qu ...

  4. @Column注解介绍

    用于指定列的相关属性name - 可选,表示数据库表中列的名称.默认为属性或字段名称.nullable - 可选,表示该字段是否允许为 null,默认为 true(null)若设置为false 则该列 ...

  5. 3、JPA一些常用的注解

    常用注解有下面这些: ①:@Entity.@Table.@Id.@GeneratedValue.@Column.@Basic ②:@Transient 用于忽略某个属性,而不对该属性进行持久化操作 ③ ...

  6. @CreatedDate@CreatedBy@LastModifiedBy@LastModifiedDate

    实体类,注意需要加上@EntityListeners(AuditingEntityListener.class)这个注解才能使@CreatedDate@LastModifiedDate生效 packa ...

  7. 枚举保存到数据库中为序号解决方案

    普通枚举转换配置 枚举类 package com.gecko.charging.partner.enums;import com.alibaba.fastjson.annotation.JSONTyp ...

  8. mybatis date类型映射_MapStruct 映射工具

    MapStruct 映射工具 本篇主要讲解MapStruct 一款映射工具,只需简单的定义一个Mapper接口,在编译期间,MapStruct将生成此接口的实现,据说MapStruct性能最高是Spr ...

  9. Spring常见注解

    1.@SpringBootApplication 这里先单独拎出 @SpringBootApplication 注解说一下,虽然我们一般不会主动去使用它. 这个注解是 Spring Boot 项目的基 ...

最新文章

  1. ALSA声卡驱动中的DAPM详解之四:在驱动程序中初始化并注册widget和route
  2. [转载]Array.prototype.slice.call(arguments,1)原理
  3. .NET开发中的连接字串
  4. 使用MLeaksFinder检测项目内存泄露总结
  5. 批量绑定(bulk binds):FOR循环与FORALL的性能比较
  6. highroller赌城java下载,非常有用的链接
  7. apache poi使用例_GitHub - cooker/poi-examples: apache poi 使用案例
  8. 中科院等发布《2019研究前沿》
  9. C++_类和对象_C++继承_继承中的对象模型_占内存大小---C++语言工作笔记063
  10. 使用JAVA的keytool生成jks证书,通过jks证书生成pfx证书,tomcat配置https
  11. 将PDF转为TXT文本格式提取中文
  12. vmware 14 密钥
  13. 3个月攻破CCNA:12周教程资料盘点
  14. 【SSM - Spring篇06】Spring数据库编程 - JdbcTemplate(Spring jdbc模板)
  15. Pascal基础教程
  16. ATV320、ATV32变频器报tnF如何处理?
  17. 计算机应用于针灸,中医针灸临床治疗专家系统的研究与实现
  18. elasticsearch创建索引和mapping
  19. eclipse修改自定义皮肤
  20. linux u盘版下载官网,Linux助手:Universal USB Installer新版下载

热门文章

  1. 设计师常用的素材网站有哪个推荐
  2. android 锁屏后定时器,iOS锁屏或者后台计时器定时解决方法
  3. iThenticate查重系统的使用及如何去除参考文献
  4. C++ 0X学习 (1)
  5. vba 跳出for循环_ExcelVBA的三重FOR循环退出
  6. 计算机术语access,计算机英语词汇术语:access(存取,访问)
  7. 中国国内如何使用chatgpt?
  8. 编写一个程序,输入直角三角形的两个直角边的长度a、b,求斜边c的长度。
  9. 关于面试的方法和技巧都有哪些呢?
  10. 离散度计算公式 python_Python分析离散心率信号(中)