2016-01-24 51 views
3

我保存在使用Spring數據JPA數據庫的電話號碼,春數據JPA(MySQL的)保存字符串以指數的形式而不是一個數量

在模型中,我定義這個
private String directPhone;

同時節省supplier.directPhone="99250397679"

並在DB它指數形式保存

其保存在這種形式direct_phone: 9.925039767E9

Supplier supplier=supplierRepository.findOne(new Long(1)); 

雖然收到它給我指數形式。

但我想要字符串形式。幫助我獲取字符串形式。同樣的事情發生在year=2005,它節省了year=2005.0

回答

1

這與Spring Data沒有任何關係。你也會用普通的JDBC來碰到這個問題。

MySQL定義了各種numeric types,並且您可能正在使用存儲浮點數的FLOAT, DOUBLE or DECIMAL(n, m), NUMERIC(n, m)

對於yearVARCHAR對於direct_phone您需要使用INTEGER

+0

而desc供應商我得到這個direct_phone | varchar(255)。所以這已經在varchar – abhaygarg12493

+0

然後你需要看看Web控制器是不是試圖將'double'轉換爲'String'。檢查網頁圖層轉換器。 –

+0

nope web layers did not – abhaygarg12493

1

首先,它不應該將字符串保存爲數據庫中的指數。 DB中的表列是否是varchar(10)? 第二,如果你需要將這些字符串轉換爲你想要的東西,你可以這樣做:

要刪除的點:

direct_phone = direct_phone.replaceAll("\\.", ""); 

要刪除 'E':

direct_phone = direct_phone.replaceAll("[E]","") 
+0

你在說什麼。 – abhaygarg12493

+0

你知道Spring數據JPA – abhaygarg12493

+0

@ abhaygarg12493嗎?是的。 –

相關問題