我正在使用@ElementCollection作为自定义对象列表
@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{
如果我使用@Embeddable注释,我将获得org.hibernate.MappingException: Type not supported for auditing: org.hibernate.type.ComponentType
我是JPA的新手。有什么我想念的吗?
答案 0 :(得分:5)
如果您要使用@Embeddable
,则引用@Embeddable
类的字段需要@Embedded
注释。然后,@Embedded
类中的字段需要具有适当的JPA注释,因此JPA知道如何处理它们。您可能需要阅读this,以便完全了解@Embbedable
的作用。