Java SpringDataJPA(MySQL)以指数形式而不是数字形式保存字符串
我使用Spring Data JPA将电话号码保存在数据库中 在模型中,我定义了这个Java SpringDataJPA(MySQL)以指数形式而不是数字形式保存字符串,java,mysql,database,hibernate,spring-data-jpa,Java,Mysql,Database,Hibernate,Spring Data Jpa,我使用Spring Data JPA将电话号码保存在数据库中 在模型中,我定义了这个 private-String-directPhone 保存时supplier.directPhone=“99250397679” 在DB中,它以指数形式保存 它以这种形式保存direct\u电话:9.925039767E9 Supplier supplier=supplierRepository.findOne(new Long(1)); 当收到它时,给我指数形式 但我想要字符串形式。帮我把它变成字符串形式。
private-String-directPhone代码>
保存时supplier.directPhone=“99250397679”
在DB中,它以指数形式保存
它以这种形式保存direct\u电话:9.925039767E9
Supplier supplier=supplierRepository.findOne(new Long(1));
当收到它时,给我指数形式
但我想要字符串形式。帮我把它变成字符串形式。同样的事情发生在year=2005
上,它保存year=2005.0
首先,它不应该将字符串保存为以DB为单位的指数。DB中的表列是否为varchar(10)?
其次,如果需要将这些字符串转换为所需的字符串,可以执行以下操作:
要删除圆点,请执行以下操作:
direct_phone = direct_phone.replaceAll("\\.", "");
要删除“E”,请执行以下操作:
direct_phone = direct_phone.replaceAll("[E]","")
这与Spring数据无关。普通JDBC也会遇到这个问题
MySQL定义了各种类型,您可能正在使用哪个存储浮点数
您需要使用INTEGER
来表示year
和VARCHAR
来表示direct\u phone
您在说什么。您知道Spring数据吗JPA@abhaygarg12493是的,当描述供应商时,我得到了这个直接的电话| varchar(255)。这已经在varchart中了,您需要查看web控制器是否没有尝试将双精度
转换为字符串
。检查web层转换器。然后,您需要一步一步地调试它,并查看它在哪里中断。