У меня есть Order
класс и OrderDetails
, как показано ниже.Теперь у меня есть one to many
связь между заказом и деталями заказа и one to one
в другом направлении.
@Entity
@Table(name = "orders")
@EntityListeners(AuditingEntityListener.class)
@JsonIgnoreProperties(value = { "createdAt" }, allowGetters = true)
public class Order implements Serializable {
@JsonView(View.V1.class)
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long orderNo;
//@NotBlank
//private String orderNo;
@JsonView(View.V1.class)
@Column(nullable = false, updatable = false)
@Temporal(TemporalType.TIMESTAMP)
@CreatedDate
private Date createdAt;
//@OneToOne(cascade = CascadeType.MERGE)
//@PrimaryKeyJoinColumn
//@OneToMany(cascade=CascadeType.ALL, fetch = FetchType.LAZY)
//@JoinColumn(name="id")
@JsonView(View.V1.class)
@OneToMany(mappedBy="order")
private Set<OrderDetails> orderDetails;
@JsonView(View.V1.class)
@Email(message="Email should be valid")
private String email;
}
Как видно, Order
имеет атр.set of orderDetails
.И OrderDetails
имеет атрибут.Order
.В связи с этим, когда я сохраняю объект Order, я получаю объект Order, имеющий атрибут OrderDdrtails attr.который имеет снова заказ attr.который имеет OrderDetail и так далее, как показано ниже:
[{"orderNo":1,"createdAt":"2019-04-16T16:26:02.000+0000","orderDetails":[{"id":1,"itemId":1,"quantityOrdered":50,"order":{"orderNo":1,"createdAt":"2019-04-16T16:26:02.000+0000","orderDetails":
Одна вещь, которую я могу сделать, это установить order
внутри orderDetails
как null
.Но есть ли другой подход, который я могу использовать?