@OneToMany 双向 - 连接列正在插入“null”值(Hibernate)

Tus*_*har 4 java hibernate jpa hibernate-onetomany

我有 2 个模型/带注释的类,ProductDetails 和 VnfDetails。我想使用 JPA HIbernate 将 2 个表与 @OnetoMany 关系连接起来

ProductDetails模型类如下,带有 @OnetoMany 映射:

@Entity
@Table(name="product_details")
public class ProductDetails {

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="ID")
private int id;        

@Column(name="PRODUCT_ID")
private String productId;

@Column(name="PRODUCT_NAME")
private String productName;

@OneToMany(mappedBy="productDetails", cascade=CascadeType.ALL)
private Set<VnfDetails> vnfd;


public Set<VnfDetails> getVnfd() {
    return vnfd;
}

public void setVnfd(Set<VnfDetails> vnfd) {
    this.vnfd = vnfd;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getProductId() {
    return productId;
}

public void setProductId(String productId) {
    this.productId = productId;
}

public String getProductName() {
    return productName;
}

public void setProductName(String productName) {
    this.productName = productName;
}
Run Code Online (Sandbox Code Playgroud)

VnfDetails下面有 @ManytoOne 和 JoinColumn:

@Entity
@Table(name="vnf_details")
public class VnfDetails {


@Id
@Column(name="VNF_ID")
private String vnfId;

@Column(name="VNF_NAME")
private String vnfName;

@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="PRODUCT_ID")
private ProductDetails productDetails;

public ProductDetails getProductDetails() {
    return productDetails;
}

public void setProductDetails(ProductDetails productDetails) {
    this.productDetails = productDetails;
}

public String getVnfId() {
    return vnfId;
}

public void setVnfId(String vnfId) {
    this.vnfId = vnfId;
}

public String getVnfName() {
    return vnfName;
}

public void setVnfName(String vnfName) {
    this.vnfName = vnfName;
}
Run Code Online (Sandbox Code Playgroud)

当我插入数据时,数据正在插入,但 VnfDetails表中的PRODUCT_ID为空。

它应该是 PRODUCT_DETAILS 表的具有“ ID ”的外键。

无法解决问题。