내 프로젝트에 제이 보스 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
@ 예외없이이 예외가 발생합니까? – adamw
아니오 envers 없이는이 모든 것이 잘 작동하지 않는다 –
데이터베이스와 최대 절전 모드간에 충돌이 있다고 가정합니다. 어떤 데이터베이스 모델/버전을 사용하고 있습니까? 대신 EnumType.Oridnal을 사용할 수 있습니다. –