Java中定义的泛型字段到数据库中自动转换成了int类型字段 解决方案
2016-10-10 15:57
627 查看
我这里使用到的是Spring Data Jpa,创建一个实体类之后,自动创建对应的数据表到数据库,但是我在实体类中写的泛型属性值到数据库中却变成了int类型,如下:
/**
* 数据类型
*/
private DataType dataType;
到了数据库中却变成了int类型的字段,不科学。后来才发现泛型类型的数据存储到数据库中有两种存储格式,第一是int,第二个是String类型也就是varchar,默认是int类型。
解决办法:如果想要换为string类型,需要在属性值上添加注解
@Enumerated(EnumType.STRING)
结果也就是:
/**
* 数据类型
*/
@Enumerated(EnumType.STRING)
private DataType dataType;
这样就可以实现存储到数据库中是varchar类型的数据了
/**
* 数据类型
*/
private DataType dataType;
到了数据库中却变成了int类型的字段,不科学。后来才发现泛型类型的数据存储到数据库中有两种存储格式,第一是int,第二个是String类型也就是varchar,默认是int类型。
解决办法:如果想要换为string类型,需要在属性值上添加注解
@Enumerated(EnumType.STRING)
结果也就是:
/**
* 数据类型
*/
@Enumerated(EnumType.STRING)
private DataType dataType;
这样就可以实现存储到数据库中是varchar类型的数据了
相关文章推荐
- 更新数据库所有表的某一个指定字段 ,附加对‘将 varchar 值转换为数据类型为 int 的列时发生语法错误’处理方法
- 类型转换问题(java会把byte,short和char的运算操作转换为int类型即低精度自动向高精度转换)
- Ibatis中的枚举类型和数据库中int类型可以自动转换
- easyui datetimebox处理【前台传递到后台是string类型,但是后台定义的是java.util.date,如何自动转换数据类型】
- 第二十一篇 Java 数据类型的定义 ,以及基础类型的自动转换和强制转换
- Mybatis的数据库字段类型JDBCType和java基本数据类型转换说明
- 数据库的表字段自动转换为java实体类
- Greendao 3.X 数据库升级,新增int、long数据类型字段NOT NULL 解决方案
- Java数据类型中String、Integer、int相互间的转换
- 小白Java笔记——基本类型的类型转换和表达式类型的自动提升
- java中的String类型的对象为什么可以自动转换成Object类型的?而Object却要强制转换成String类型的
- java 基本类型转换 字符char 转 数字int
- Java中基本类型自动转换与强制转换
- Java数据类型的转换:隐式(自动)转换与强制转换
- Java数据类型的转换:隐式(自动)转换与强制转换
- Java中为什么long能自动转换成float类型
- Java中long类型为何会自动转换为float类型?(未整理)
- mybatis开启数据库字段自动映射为java驼峰命名规则
- JAVA String和int类型相互转换
- MySQLdb 的 Integer 字段类型转换 long - int