【发布时间】:2017-04-15 17:34:31
【问题描述】:
我正在尝试使用 Hibernate 将实体产品映射到其他产品的自我引用。
创建项目发送的JSON是这样的:
{"name":"chair", "description":"red chair",
"parent": {"name":"table","description":"red table"}
}
当我收到这个 json 时,我需要将子产品保存在数据库中,并使用父属性中的 productId 设置 PARENT_PRODUCT_ID。
请帮忙?
public class Product implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer productId;
@Column(name = "NAME")
private String name;
@Column(name = "DESCRIPTION")
private String description;
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="PRODUCT_ID")
private List<Image> images;
@OneToMany(cascade=CascadeType.ALL)
@JoinColumn(name="PRODUCT_ID")
private List<Product> children;
@ManyToOne
@JoinColumn(name = "PARENT_PRODUCT_ID")
private Product parent;
Image.java:
@Entity
@Table
public class Image implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@Column(name = "ID")
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Integer imageId;
@Column(name = "TYPE")
private String type;
@ManyToOne
@JoinColumn(name = "PRODUCT_ID", nullable = false)
private Product product;
【问题讨论】:
标签: java hibernate one-to-many many-to-one self-reference