【发布时间】:2019-07-31 11:13:22
【问题描述】:
在我的应用程序中,用户下订单并将帐单地址设置为与他映射的地址之一。现在他将来会编辑那个地址。所以我的订单将映射到那个更新的地址。
我的订单实体
@Entity
public class Orders{
...
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "user_id")
private User user;
@OneToOne
private Address address;
...
}
地址实体
@Entity
@Table(name = "address")
public class Address {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String address1;
...
}
人物实体
@Entity
public class Person{
...
@OneToMany(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Set<Address> addresses = new HashSet<>();
...
}
我希望我的订单实体拥有创建订单期间的地址副本。用户在其个人资料中对地址的任何更改,在订单创建后都不会影响该订单。
【问题讨论】:
-
请提供您用于将订单插入数据库的代码
标签: java database hibernate jpa