Java Hibernate一对一映射问题

Java Hibernate一对一映射问题,java,hibernate,Java,Hibernate,我有两张表ProductDetails和PartNumber。ProductDetails表中有一个partNumber字段,它也是partNumber表的主键 当前映射: 对于零件号表: @Id @Column(name = "Part_Number") private String partNumber; “零件号”字段中的数据是单独添加的。现在我想在ProductDetails部分中添加此列。应该如何指定关系。这是一对一的关系。ProductDetail只有一个PartDetail。我写

我有两张表ProductDetails和PartNumber。ProductDetails表中有一个partNumber字段,它也是partNumber表的主键

当前映射:

对于零件号表:

@Id
@Column(name = "Part_Number")
private String partNumber;
“零件号”字段中的数据是单独添加的。现在我想在ProductDetails部分中添加此列。应该如何指定关系。这是一对一的关系。ProductDetail只有一个PartDetail。我写过类似的东西

@OneToOne(mappedBy = "partNumber")
private PartNumber part_number = new PartNumber();
零件号表中的零件号应该是多少

更新

ProductDetails表中的列类似于

Id、产品名称、使用的部件、说明


在本部分中,使用的零件应参考零件号表中的零件号列。

在零件号表中,注释应为:

    @OneToOne
    @PrimaryKeyJoinColumn
    private ProductDetails productDetails;
    @OneToOne(mappedBy="productDetails")
@JoinColumn(name="Part_Number")
private PartNumber partNumber;
在ProdActionDetails中,表注释应为:

    @OneToOne
    @PrimaryKeyJoinColumn
    private ProductDetails productDetails;
    @OneToOne(mappedBy="productDetails")
@JoinColumn(name="Part_Number")
private PartNumber partNumber;

当前设置有什么问题?@Smutje如何在ProductDetail表的DB中指定part_编号列的名称?上述设置是否正确?列没有名称,因为有关关系的信息存储在PartNumber表中。您可以(但不必)添加对“父级”ProductDetails对象的引用,该对象由
@OneToOne
@Smutje Part\u编号注释,是一个单独的表,数据直接添加到该表中,与ProductDetails无关。然后,无论何时创建新产品,我们都会引用零件号。没问题,只要您不发明外键。