0
我試圖使用JBoss 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
}
}
但當我更新/插入一條記錄時,會出現以下異常:
有關Hibernate數據訪問的JDBC異常:SQLException for SQL [n/a]; SQL狀態[S1000];錯誤代碼[0];由於java.lang.NumberFormatException,無法將類java.lang.String轉換爲請求的SQL類型 - 對於輸入字符串:「APPROVED」;嵌套的例外是org.hibernate.exception.GenericJDBCException:不能java.lang.String類轉換成要求源於java.lang.NumberFormatException SQL類型 - 對於輸入字符串:「認可」
爲什麼它轉換的枚舉整數 ?!
注:我用冬眠4.1.8.Final
你是否也沒有@Audited這個異常? – adamw 2013-05-07 06:15:59
不,我不是每個人都工作正常,沒有envers – 2013-05-07 09:24:03
我假設你的數據庫和Hibernate之間有衝突。您正在使用哪種數據庫模型/版本?你可以使用'EnumType.Oridnal'來代替。 – 2013-05-06 13:28:17