/** * */ package org.hibernate.envers.test.entities.collection; import java.util.Set; import javax.persistence.CollectionTable; import javax.persistence.Column; import javax.persistence.ElementCollection; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import org.hibernate.annotations.Columns; import org.hibernate.annotations.Type; import org.hibernate.annotations.TypeDef; import org.hibernate.envers.Audited; import org.hibernate.envers.test.entities.customtype.Component; import org.hibernate.envers.test.entities.customtype.CompositeTestUserType; /** * @author Felix Feisst (feisst dot felix at gmail dot com) */ @Entity @TypeDef(name = "comp", typeClass = CompositeTestUserType.class) public class CompositeCustomTypeSetEntity { @Id @GeneratedValue private Integer id; @Audited @ElementCollection @Type(type = "comp") @CollectionTable(name = "components", joinColumns = @JoinColumn(name = "entity_id")) @Columns(columns = { @Column(name = "str", nullable = true), @Column(name = "num", nullable = true) }) private Set<Component> components; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } /** * @return the components */ public Set<Component> getComponents() { return components; } /** * @param components the components to set */ public void setComponents(Set<Component> components) { this.components = components; } }