プロジェクトで JBoss envers (4.2.0.FINAL) アノテーションを使用しようとしていますが、Enum 監査の問題により失敗しました。
私のエンティティコードは
@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
}
}
しかし、レコードを更新/挿入するたびに、次の例外が表示されます
Hibernate データ アクセスでの JDBC 例外: SQL の SQLException [該当なし]; SQL 状態 [S1000]; エラーコード [0]; java.lang.NumberFormatException のため、クラス java.lang.String を要求された SQL タイプに変換できません - 入力文字列の場合: "APPROVED"; ネストされた例外は org.hibernate.exception.GenericJDBCException: クラス java.lang.String を、java.lang.NumberFormatException が原因で要求された SQL タイプに変換できません - 入力文字列の場合: "APPROVED"
なぜ列挙型を整数にキャストするのですか?!
注:休止状態の 4.1.8.Final を使用しています