2014-04-08 4 views
-2

DB 테이블 정보를 캐스팅 할 수 없습니다java.lang.Long의이 java.math.BigDecimal의에

fid [NUMBER(32,0)PK] 
status [VARCHAR2(10)] 

DAO 클래스 :

public Integer Update_bank_dep(Long fid, String status) { 
    try { 
     String query  = "update WtrBnkdep as wb set wb.wtrbdStus=:status where wb.wtrbdUniqval=:fid"; 
     Query queryobject = get_session().createQuery(query); 

     queryobject.setParameter("fid", fid); 
     queryobject.setParameter("status", status); 
     int cd = queryobject.executeUpdate(); 
     System.out.println("cd=" + cd); 

     return cd; 
    } catch(RuntimeException ex) { 
     System.out.println("Error="+ex); 
     throw ex; 
    } 
} 

결과 :

Error=java.lang.ClassCastException: java.lang.Long cannot be cast to java.math.BigDecimal 

답변

2

당신의 천국 ' 문제에 대한 자세한 내용을 제공했지만 분명히 BigDecimal :

로 변환해야합니다.
queryobject.setParameter("fid", new BigDecimal(fid)); 
+0

예를 들어, 'fid' 열의 데이터베이스 유형 등은 어쨌든이를 수정해야합니다. –