У меня есть структура бобов, как показано ниже. Проблема, с которой я столкнулась, заключается в попытке сохранить XBean, я могу сохранить все данные (т. Е. XName, pBean, qBean, rBean, kBeans все видны в хранилище), но для Y_BEAN нет записи.JPA ManyToOne поле не сохраняется
Я довольно много нового с аннотациями JPA, поэтому не совсем уверен, что то, что я сделал, является правильным. Идея состоит в том, чтобы иметь несколько записей XBean (то есть как List) с одним экземпляром YBean
XBean также будет содержать экземпляр YBean в качестве его родителя, поэтому, когда я получаю XBean, я должен получить все данные. Что-то не так с аннотацией @ManyToOne
?
@Entity
@Table (name = "X_BEAN")
public class XBean implements XInterface {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Key key;
private String xName;
@OneToOne(cascade=CascadeType.ALL)
private PBean pBean;
@ManyToOne
@JoinColumn(name="y_id")
private YBean yBean;
@OneToOne(cascade=CascadeType.ALL)
private qBean qBean;
@OneToOne(cascade=CascadeType.ALL)
private RBean rBean;
@OneToMany (mappedBy="xBean", cascade=CascadeType.ALL)
private List<KBean> kBeans;
// getter setters for each are below ...
}
и структура YBean как ниже
@Entity
@Table (name = "Y_BEAN")
public class YBean implements XInterface {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Key key;
@OneToOne(cascade=CascadeType.ALL)
private ZBean zName;
@OneToOne(cascade=CascadeType.ALL)
private PBean pBean;
@OneToOne(cascade=CascadeType.ALL)
private RBean rBean;
@OneToMany (mappedBy="yBean", cascade=CascadeType.ALL)
private List<XBean> xBeans;
// getter setter for each are below ...
}
Я использую для хранения Google App Engine в
Какой тип 'Key' здесь? – erencan
'Key'' 'com.google.appengine.api.datastore.Key'. Я использую хранилище Google App Engine – S4beR