para - hibernate java tutorial
mappedPor referencia una propiedad desconocida de la entidad objetivo (1)
Tengo un problema al establecer una relación de uno a muchos en mi objeto anotado.
Tengo lo siguiente:
@MappedSuperclass
public abstract class MappedModel
{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id",nullable=false,unique=true)
private Long mId;
luego esto
@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;
y esto
@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;
¿Qué estoy haciendo incorrecto aquí?
El atributo mappedBy
hace referencia al customer
mientras que la propiedad es mCustomer
, de ahí el mensaje de error. Entonces, cambie su mapeo a:
/** The collection of stores. */
@OneToMany(mappedBy = "mCustomer", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
private Collection<Store> stores;
O cambie la propiedad de la entidad en customer
(que es lo que yo haría).
La referencia mappedBy indica "Ve a la propiedad del bean llamada ''cliente'' en la cosa que tengo una colección para encontrar la configuración".