Многие не сохранились - PullRequest
       10

Многие не сохранились

0 голосов
/ 30 сентября 2019

@ OneToMany сторона отношения заполняется хорошо, но сторона @ManyToOne переопределяет каждый раз (сохраняется только последний элемент)

    @Entity
    @Table(name="order")
    public class Order {

        @Id
        @Column(name ="orderId")
        private String orderId;
          @OneToMany(targetEntity = Items.class,
          fetch = FetchType.EAGER, cascade = CascadeType.ALL)
          @JoinColumn(name = "orderId")
          @NotNull
          private Set<Items> items;
        .......
    }
    @Entity
    public class Items {

    @Id
    private String itemId;
    @ManyToOne
    @JoinColumn(name="orderId",referencedColumnName = "orderId")
    private Order order;
    ............
}

Ответы [ 2 ]

0 голосов
/ 02 октября 2019

Заменить targetEntity = Items.class на mappedBy = "order" и удалить referencedColumnName = "orderId" и @ JoinColumn (name = "orderId ") от OneToMany.

Также, если вам действительно нужно получить извлечение, удалите его со стороны OneToMany - ManyToOne стремится по умолчанию.

0 голосов
/ 30 сентября 2019
@Entity
@Table(name="order")
public class Order {

    @Id
    @Column(name ="orderId")
    private String orderId;
      @OneToMany(targetEntity = Items.class,
      fetch = FetchType.EAGER, cascade = CascadeType.ALL
      ,mappedBy = "item_id")
      @NotNull
      private Set<Items> items;
    .......
}
@Entity
public class Items {

@Id
private String itemId;
@ManyToOne
@JoinColumn(name="orderId",referencedColumnName = "orderId")
private Order order;
............
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...