2011-11-24 1 views
11

최대 절전 모드를 사용 중입니다. 그것은 다음과 같이 20 개의 정밀도를 갖지만 NUMBER 타입의 id 컬럼을가집니다.hibernate hbm에서 BigDecimal을 id 유형으로 사용할 수 있습니까?

NUMBER (38,20) - 테이블의 id 열 (Oracle 데이터베이스)에 지정된 크기입니다.

ID는 우리의 응용 프로그램에 의해 생성됩니다. 엔티티에서 Float 또는 Double을 사용하면 20 개의 정밀도를 수용 할 수 없습니다. java.math.BigDecimal은 이러한 많은 정밀도를 수용 할 수 있습니다. 하지만 문제는 아래와 같이 hbm에서 BigDecimal을 사용할 수 있습니까? 어떤 문제가있을 것인가? 어떤 때는 정밀도가있는 ID를 보내지 않을 수도 있습니다. 그 시간은 최대 절전 모드에서 빈 정밀도와 삽입을 생성합니까?

<id name="someId" column="SOME_ID" type="java.math.BigDecimal"/> 

제발 제안하십시오!

답변

9

type = "big_decimal"을 사용할 수 있습니다. 어떤 상황에서도 Float 또는 Double을 사용하려고 시도해서는 안됩니다.