Je rencontre un problème lors de la configuration d'une relation un-à-plusieurs dans mon objet annoté.mappedBy référence une propriété d'entité cible inconnue
Je donne les résultats suivants:
@MappedSuperclass
public abstract class MappedModel
{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id",nullable=false,unique=true)
private Long mId;
alors ce
@Entity
@Table(name="customer")
public class Customer extends MappedModel implements Serializable
{
/**
*
*/
private static final long serialVersionUID = -2543425088717298236L;
/** The collection of stores. */
@OneToMany(mappedBy = "customer", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private Collection<Store> stores;
et ce
@Entity
@Table(name="store")
public class Store extends MappedModel implements Serializable
{
/**
*
*/
private static final long serialVersionUID = -9017650847571487336L;
/** many stores have a single customer **/
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn (name="customer_id",referencedColumnName="id",nullable=false,unique=true)
private Customer mCustomer;
ce que je fais ici incorrecte
qui a fonctionné, je m'étais attendu à ce qu'il utilise la réflexion et utilise la méthode de setter ou de getter et pas la propriété directement. – boyd4715
@ boyd4715: Vous pouvez essayer de déplacer vos annotations sur les getters pour voir ce qui se passe lors de l'utilisation de l'accès aux propriétés (vs accès aux champs). D'un autre côté, le javadoc de 'mappedBy' dit * Le champ qui possède la relation * donc je ne suis pas sûr que cela changera quoi que ce soit. –
Cela a fonctionné, merci pour la clarification rapide –