2017-07-16 10 views
0

にマッピングjavaの休止Spring MVCのHibernateは私は</p> <p>それぞれ</p> <p>列Acc_noとCUST_IDはタイプのBigInt(14)とのBigInt(10)であるMySQLのテーブル名の顧客を持っていると私は確認したいロングMySQLのBIGINTエラー

Beanクラスの顧客によるMySQLの中の値

@Id 
@GeneratedValue(strategy =GenerationType.AUTO) 
@Column(name="Cust_ID") 
long Cust_ID; 

@Id 
@GeneratedValue(strategy =GenerationType.AUTO) 
@Column(name="Acc_No") 
long Acc_No; 

@Column(name="C_New_Pwd") 
String C_New_Pwd; 

CustomerDAOImplに私はこの

0をやっている間
long custid=Long.parseLong(clog); 
    long acc_no=Long.parseLong(accno); 

    Session session = sessionFactory.openSession(); 

    String SQL_QUERY =" from com.mla.Customer as o where o.Cust_ID=? and o.Acc_No=? and o.C_New_Pwd=?"; 
    Query query = session.createQuery(SQL_QUERY); 

    query.setParameter(0,(Long)custid); 
    query.setParameter(1, (Long)acc_no); 
    query.setParameter(2, pwd); 
    List list = query.list(); 

例外:com.mysql.jdbc.exceptions.jdbc4.MySQLDataException:列 '10' で '9.87654321E9' は外部データ型INTEGERの有効な範囲です。

setParameterのロングキャスティング私は意図的に行いましたが、同じ例外はありません。ここで

+0

はなぜあなたの代わりに長いのをBigIntegerを使用していませんか? –

+0

@KillerDeathだから私はこれを使用しましたが、なぜこの変数を使用するのですか?このBigIntegerで普通のint値をチェックするのに問題がないことを願っています。 –

+0

@KillerDeathそしてBigIntegerに文字列をどのようにパースしますか? ...私のコードを参照してください –

答えて

0

ソリューション:

// Convert Long to String. 
String custID = Cust_ID.toString(); 

// Then create the BigInteger 
BigInteger bigIntegerCustID = new BigInteger(custID); 

query.setParameter(0, bigIntegerCustID); 

よろしく、

+0

おかげでまだエラーを取得して文字列を入力している......欄に「9.87654321E9」「10」は、外部のデータ型INTEGERが、列10の有効範囲では、それがために表示されて、なぜ私はなっていない午前私のC_New_Pwdです10列目に返信してください –

+0

mysql workbenchから直接クエリを実行しようとしましたか? –

+0

はい私は既にmysql dbにデータを入力しています –

関連する問題

 関連する問題