JPA @Embeddable

时间:2012-01-21 06:14:24

标签: hibernate jpa-2.0

我正在使用@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的新手。有什么我想念的吗?

1 个答案:

答案 0 :(得分:5)

如果您要使用@Embeddable,则引用@Embeddable类的字段需要@Embedded注释。然后,@Embedded类中的字段需要具有适当的JPA注释,因此JPA知道如何处理它们。您可能需要阅读this,以便完全了解@Embbedable的作用。