Hibernate 一对多映射创建3个表

Hibernate 一对多映射创建3个表,hibernate,spring-boot,jpa,h2,Hibernate,Spring Boot,Jpa,H2,嗨,我正在使用h2数据库和hibernate的一对多映射。。我的spring启动应用程序使用实体类创建表。我发现有3个表正在创建。所以,只有在多对多的情况下,我们才有第三个表来维持两个表之间的关系。在我的例子中,即使是一对多的情况下,我也可以看到正在创建3个表。有人能解释一下这个吗 @ApiModel(description = "Class representing a Order placed by custormer") @Entity @Table(name = "order_take

嗨,我正在使用h2数据库和hibernate的一对多映射。。我的spring启动应用程序使用实体类创建表。我发现有3个表正在创建。所以,只有在多对多的情况下,我们才有第三个表来维持两个表之间的关系。在我的例子中,即使是一对多的情况下,我也可以看到正在创建3个表。有人能解释一下这个吗

@ApiModel(description = "Class representing a Order placed by custormer")
@Entity
 @Table(name = "order_taken")
  public class Order {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name = "order_id")
private int orderId;

@Column(name = "quantity")
private int quantity;


@OneToMany(fetch = FetchType.LAZY ,cascade = CascadeType.ALL)
private Set<Item> items;


 @ApiModel(description = "Class representing all coffee varieties in our 
   Restaurant")
  @Entity
     @Table(name="items")
     public class Item {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(name="item_id")
private int itemId;

@Column(name="item_name")
private String itemName;

@Column(name="price")
private double price;
@ApiModel(description=“Class表示客户下的订单”)
@实体
@表(name=“订购”)
公共阶级秩序{
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
@列(name=“order\u id”)
私有int-orderId;
@列(名称=“数量”)
私人整数数量;
@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
私人设置项目;
@ApiModel(description=“Class代表我们公司所有咖啡品种
餐厅“)
@实体
@表(name=“items”)
公共类项目{
@身份证
@GeneratedValue(策略=GenerationType.AUTO)
@列(name=“item\u id”)
私有int-itemId;
@列(名称=“项目名称”)
私有字符串itemName;
@列(name=“price”)
私人双价;

对于上面的实体,有3个表项,orders\u take和orders\u take\u item。

如果不想创建关系表,则需要指定
@joincolm

将此添加到
订单中
表格:

@OneToMany(fetch = FetchType.LAZY ,cascade = CascadeType.ALL)
@JoinColumn(name = "order_id")
private Set<Item> items;
@OneToMany(fetch=FetchType.LAZY,cascade=CascadeType.ALL)
@JoinColumn(name=“订单号”)
私人设置项目;