JPA @Embeddable - PullRequest
       15

JPA @Embeddable

5 голосов
/ 21 января 2012

Я использую @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 Ответ

5 голосов
/ 18 февраля 2012

Если вы хотите использовать @Embeddable, поле, которое относится к классу @Embeddable, должно иметь аннотацию @Embedded. Затем поля в классе @Embedded должны иметь правильные аннотации JPA, чтобы JPA знала, что с ними делать. Вы можете прочитать это , чтобы полностью понять, что делает @Embbedable.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...