Tôi gặp sự cố khi thiết lập mối quan hệ một đến nhiều trong đối tượng được chú thích của tôi.mappedBy tham chiếu thuộc tính đối tượng mục tiêu không xác định
tôi có như sau:
@MappedSuperclass
public abstract class MappedModel
{
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="id",nullable=false,unique=true)
private Long mId;
thì đây
@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;
và điều này
@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;
những gì tôi đang làm sai ở đây
hoạt động, tôi đã mong đợi nó sử dụng sự phản chiếu sử dụng phương thức setter hoặc getter chứ không phải trực tiếp thuộc tính. – boyd4715
@ boyd4715: Bạn có thể thử di chuyển chú thích của mình trên getters để xem điều gì sẽ xảy ra khi sử dụng quyền truy cập thuộc tính (so với truy cập trường). Mặt khác, javadoc của 'mappedBy' nói * Trường sở hữu mối quan hệ * vì vậy tôi không chắc chắn điều này sẽ thay đổi bất cứ điều gì. –
Điều đó đã hiệu quả, Cảm ơn bạn đã nhanh chóng làm rõ –