I ont les classes de domaine suivants:Mapping OneToMany avec des annotations Inscrit Inheritence:
@Entity
@Table(name="ADDRESSBOOK_FIELD")
@Inheritance(strategy=InheritanceType.JOINED)
public abstract class AbstractAddressbookField {
private int dbID;
private Addressbook addressbook;
public AbstractAddressbookField() {
}
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public int getId() {
return dbID;
}
public void setId(int id) {
this.dbID = id;
}
@ManyToOne
@JoinColumn(nullable=false)
public Addressbook getAddressbook() {
return addressbook;
}
public void setAddressbook(Addressbook addressbook) {
this.addressbook = addressbook;
}
}
.
@Entity
@Table(name="DATE_FIELD")
public class DateField extends AbstractAddressbookField {
public DateField() {
}
}
.
@Entity
@Table(name="NEW_ADDRESSBOOK")
public class Addressbook {
private int dbID;
private Set<DateField> dateFields = new HashSet<DateField>();
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
public int getDbID() {
return dbID;
}
public void setDbID(int dbID) {
this.dbID = dbID;
}
@OneToMany(mappedBy="Addressbook", cascade={CascadeType.ALL})
public Set<DateField> getDateFields() {
return dateFields;
}
public void setDateFields(Set<DateField> dateFields) {
this.dateFields = dateFields;
}
}
Mes paquets sont correctement analysés pour ramasser toutes les applications, mais je reçois l'exception suivante:
Caused by: org.hibernate.AnnotationException: Use of @OneToMany or @ManyToMany targeting an unmapped class: fields.DateField
Je ne suis pas sûr de savoir pourquoi cela est, comme la classe est clairement mis en correspondance à.
Malheureusement le paquet contenant mes classes de domaine est spécifié correctement, donc je me demande s'il y a quelque chose d'autre à changer. – mogronalol