2013-08-01 1 views
3

엔티티 클래스를 생성 긴엔티티 클래스의 BigDecimal와하지 롱 - 최대 절전 모드 도구는 BigDecimal를 함께하지

내 엔티티 클래스가 최대 절전 모드 도구 gereneated된다. 불행히도 일부 '긴'값은 'BigDecimal'숫자 (Column : AGE, BIRTHDATE)가되지만 모든 항목 (Column : ID)이 아닙니다!

왜 이런 일이 발생하며 어떻게 해결해야합니까? 내 오라클 데이터베이스의

테이블 : 사용자

Column - Type - Decimal Digits - Column Sizes 
    ----------+----------+----------------+------------- 
    ID  - NUMBER -  0   - 10 
    AGE  - NUMBER -  0   - 38 
    BIRTHDATE - NUMBER -  0   - 38 
    FIRSTNAME - VARCHAR2 - <null>  - 32 

엔티티 클래스 (POJO)

@Id 
@Column(name = "ID", unique = true, nullable = false, precision = 10, scale = 0) 
private long id; 

@Column(name = "AGE", precision = 38, scale = 0) 
private BigDecimal age; 

@Column(name = "BIRTHDATE", precision = 38, scale = 0) 
private BigDecimal birthdate; 

@Column(name = "FIRSTNAME", length = 32) 
private String firstname; 

감사를 생성하는 최대 절전 모드 도구 사용!

+0

내가 생각하는 당신의 나이와 BRITHDATE 열 때문에 38 열 크기, '긴'최대 수는 9,223,372,036854775807이며 19 크기입니다. – JavaKB

답변

4

최대 절전 모드 도구는 으로 구성 할 수 있습니다.을 사용자 정의하십시오. reveng.xml에 모든 매핑을 지정합니다 (스크린 샷 참조). 모든 JDBC 유형을 임의의 최대 절전 모드 유형으로 변환하고 생성기를 다시 실행하십시오.

reveng.xml 매핑 구성 :

reveng.xml mapping configuration

사용 발전기에서이 reveng.xml :

use this reveng.xml in your generator