Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hibernate 如何在可嵌入对象集合中映射同一列两次?_Hibernate_Hibernate Mapping - Fatal编程技术网

Hibernate 如何在可嵌入对象集合中映射同一列两次?

Hibernate 如何在可嵌入对象集合中映射同一列两次?,hibernate,hibernate-mapping,Hibernate,Hibernate Mapping,我希望多次映射同一列。为此,第二个映射是只读的。在大多数情况下,这种方法是有效的。 但是,在本例中,我得到了以下错误: Repeated column in mapping for collection: Order.content column: item_id 请您帮助我理解,我的代码是什么: @Entity class Order { ... @OrderColumn(name = "idx") @JoinColumn(name = "order_id"

我希望多次映射同一列。为此,第二个映射是只读的。在大多数情况下,这种方法是有效的。 但是,在本例中,我得到了以下错误:

 Repeated column in mapping for collection: Order.content column: item_id
请您帮助我理解,我的代码是什么:

 @Entity
 class Order {
    ...


    @OrderColumn(name = "idx")
    @JoinColumn(name = "order_id")
    @ElementCollection(fetch = LAZY)
    @CollectionTable(name = "order_content", schema = "orders")
    private List<OrderContent> content;
  } 

  @Embeddable
  class OrderContent {
      @JoinColumn(name = "item_id")
      @ManyToOne(fetch = LAZY, targetEntity = Item.class)
      private Long itemId;

      @JsonIgnore
      @ManyToOne(fetch = LAZY, targetEntity = Item.class)
      @JoinColumn(name = "item_id", insertable = false, updatable = false)
      private Item item;
  }
@实体
阶级秩序{
...
@OrderColumn(name=“idx”)
@JoinColumn(name=“订单号”)
@ElementCollection(fetch=LAZY)
@CollectionTable(name=“订单内容”,schema=“订单”)
私有列表内容;
} 
@可嵌入
类OrderContent{
@JoinColumn(name=“item\u id”)
@manytone(fetch=LAZY,targetEntity=Item.class)
私有长项目ID;
@杰索尼奥雷
@manytone(fetch=LAZY,targetEntity=Item.class)
@JoinColumn(name=“item\u id”,insertable=false,updateable=false)
私人物品;
}

谢谢。

可能重复感谢您的回答,但不幸的是情况不同。我已经声明第二个映射为只读。对于实体,这很好。我的问题在于集合或@Embedable。我找不到任何解决办法。可能是重复的谢谢你的回答,但不幸的是,情况不同。我已经声明第二个映射为只读。对于实体,这很好。我的问题在于集合或@Embedable。我找不到任何解决办法。