我使用NetBeans 6.9.1,和GlassFish 3.1 SQL異常,DB是MySQL的。JAVA,而檢索值
有一個名爲HotelNames
數據庫中的表,我需要寫一個SQL並通過酒店名稱來獲得其酒店ID。我得到了一個我無法解決的例外。
@Override
public int GetHotelID(String hotellName) {
Query query = em.createNativeQuery("select ID from HotelNames where hotName ='"+ hotellName+"'");
String hotelID = (String) query.getSingleResult();
return Integer.parseInt(hotelID);
}
的例外,我得到點我在上面的代碼寫的SQL
Caused by: java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.String
的MySQL創建表的樣子;
CREATE TABLE HotelNames (`ID` BIGINT NOT NULL AUTO_INCREMENT, `hotName` VARCHAR(255), PRIMARY KEY (`ID`));
我想在SQL中BIGINT
和int
在導致此代碼的,因爲,但我無法解決這個問題。
的錯誤是不在回報中,它的上面一行。但是,爲什麼你嘗試解析一個BIGINT到字符串,然後INT? – Jacob