2013-05-06 3 views
0

내 프로젝트에 제이 보스 envers (4.2.0.FINAL) 주석을 사용하려고하지만 인해 열거 감사 문제로 실패최대 절전 모드 envers 예외

내 개체 코드가

@Entity 
@Audited 
@DiscriminatorValue("CREDIT") 
@EqualsAndHashCode(callSuper = true) 
@Data 
public class CreditTransactionEntity extends TransactionEntity { 

    @Column(name = "consumed") 
    protected int consumed; 

    @Column(name = "approval_status", columnDefinition = "ENUM('APPROVED', 'DISAPPROVED', 'PENDING') DEFAULT 'PENDING'") 
    @Enumerated(EnumType.STRING) 
    private ApprovalStatus status; 

    public enum ApprovalStatus { 
     APPROVED, DISAPPROVED, PENDING 
    } 
} 

그러나 레코드를 업데이트/삽입 할 때 다음 예외가 나타납니다.

하이버 네이트 데이터 액세스시 JDBC 예외 : SQLException [n/a]; SQL 상태 [S1000]; 오류 코드 [0]; java.lang.NumberFormatException으로 인해 요청 된 SQL 유형으로 java.lang.String 클래스를 변환 할 수 없습니다 - 입력 문자열의 경우 : "APPROVED"; 상자의 예외는 org.hibernate.exception.GenericJDBCException입니다 : 인해 java.lang.NumberFormatException의에 요청 SQL 유형으로 클래스 java.lang.String을 변환 할 수 없습니다 - 입력 문자열의 경우 : 그것은에 열거 캐스팅 이유

"승인" 정수 ?!

참고 : 나는, 4.1.8.Final

+0

@ 예외없이이 예외가 발생합니까? – adamw

+0

아니오 envers 없이는이 모든 것이 잘 작동하지 않는다 –

+0

데이터베이스와 최대 절전 모드간에 충돌이 있다고 가정합니다. 어떤 데이터베이스 모델/버전을 사용하고 있습니까? 대신 EnumType.Oridnal을 사용할 수 있습니다. –

답변

0

그것은 버전 호환성 버그처럼 최대 절전 모드 사용하고

내가 4.2.0.Final에 4.1.8.Final에서 내 최대 절전 모드 - EntityManager를 업그레이드

및 모든 것이 정상적으로 작동 중임

관련 문제