1
我有一個類在保存時給出下面的異常。這令人費解,因爲我可以很好地檢索數據。即使我對已檢索的實體(進行任何更改)執行合併/更新,錯誤仍然會發生。執行合併/更新使用@ElementCollection和Enums時的Hibernate ClassCastException
ServerStatusException data:
ASObject(26024375){message=java.lang.String cannot be cast to java.lang.Enum,
rootCause=ASObject(9663101){message=java.lang.String cannot be cast to
java.lang.Enum, localizedMessage=java.lang.String cannot be cast to
java.lang.Enum, cause=null}, details=java.lang.ClassCastException,
code=Server.Processing} HttpResponseInfo: HttpResponseInfo code: 200 message: OK
下面是屬性定義:
@ElementCollection(targetClass=FilePrivilegeEnum.class, fetch=FetchType.EAGER)
@JoinTable(name="edrfiletyperoleprivilegelink", joinColumns={@JoinColumn(name="file_type_role_id")})
@Column(name="privilege", nullable = false)
@Enumerated(EnumType.STRING)
private Set<FilePrivilegeEnum> privileges = new HashSet<FilePrivilegeEnum>();
public Set<FilePrivilegeEnum> getPrivileges() { return this.privileges; }
public void setPrivileges (Set<FilePrivilegeEnum> privileges) { this.privileges = privileges; }
這裏是特權階級:
public enum FilePrivilegeEnum {
FILE_VIEW,
FILE_CREATE,
FILE_AMEND,
FILE_DELETE;
}
這不會工作si nce'targetClass'旨在告知哪個Enum將用於轉換 –