@Entity
@Table (name="USER_DETAIL")
public class AccountBean {
@Id @GeneratedValue
private int id;
private String name;
private String description;
@OneToMany
private List<Address> listOfAddress = new ArrayList<Address>();
//with all getter and setter
}
地址类别:
@Entity
public class Address {
@Id
@GeneratedValue
private int addId;
@Column (name="HOUSE_NUMBER")
private int houseNumber;
@Column (name="CITY_NAME")
private String city;
@Column (name="STATE_NAME")
private String state;
@Column (name="PIN_ZIP")
private int zip;
// with all getter setter
}
如何访问AccountBean实体类中的地址数据集合,而所有数据将仅保存在AccountBean实体类中以及与Accountbean类相关联的Address Entity类中
最佳答案
当前,您没有将Account Entity与AccountBean仅以另一种方式关联(因此,它是单向关系,如您的代码中所定义)。
因此,您定义一个类型为AccountBean的字段,并在其上具有@ManyToOne关系,然后像这样增强@OneToMany关系
@OneToMany(mappedBy =“地址>”,级联= {CascadeType.ALL})
现在,当您从数据库检索类型为AccountBean的对象时,它将自动填充地址列表实体(如果已定义)。将新地址添加到列表中并合并AccountBean时,它将自动保留新的Address实体并将其与AccountBean对象相关联