2012-01-21 30 views
5

我使用@ElementCollection自定義對象列表JPA @Embeddable

@ElementCollection 
@CollectionTable(name = "choice", joinColumns = @JoinColumn(name = "itemId")) 
@OrderColumn(name = "index") 
private List<Choice> choices = new ArrayList<Choice>(); 

我創建了這樣的

//@Embeddable 
@Table(name = "choice") 
@Cacheable(false) 
@Audited 
public class Choice implements Serializable{ 

一個Choice類如果我使用@Embeddable批註我越來越org.hibernate.MappingException: Type not supported for auditing: org.hibernate.type.ComponentType

我是JPA的新手。有什麼我失蹤?

+0

你不瞭解什麼?該消息非常明確:您無法審覈組件/可嵌入。讓它成爲一個真正的實體。 –

回答

5

如果要使用@Embeddable,則引用@Embeddable類的字段需要具有@Embedded註釋。然後,@Embedded類中的字段需要具有適當的JPA註釋,以便JPA知道如何處理它們。您可能需要閱讀this才能完全理解@Embbedable的功能。

+0

感謝您的編輯。我不知道我可以使用反引號來進行格式設置。 – Christine