2012-01-21 8 views
5

estoy usando @ElementCollection para obtener una lista de objetos personalizadosAPP @Embeddable

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

He creado una clase como esta elección

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

Si uso anotación @Embeddable estoy recibiendo org.hibernate.MappingException: Type not supported for auditing: org.hibernate.type.ComponentType

Soy nuevo en JPA. ¿Hay algo que me falta?

+0

¿Qué no entiendes? El mensaje es bastante claro: no se puede auditar un componente/incrustable. Haz que sea una entidad real. –

Respuesta

5

Si desea utilizar @Embeddable, el campo que hace referencia a la clase @Embeddable debe tener la anotación @Embedded. Luego, los campos de la clase @Embedded deben tener las anotaciones JPA adecuadas para que JPA sepa qué hacer con ellas. Es posible que desee leer this para comprender completamente lo que hace @Embbedable.

+0

gracias por la edición. No sabía que puedo hacer el formateo mediante el uso de una cita posterior. – Christine