【发布时间】:2019-05-10 04:23:53
【问题描述】:
我正在创建一个允许用户创建酒店房间预订的应用程序。
我有实体房间、用户、预订
这些是我在实体类Reservation中设置的关系:
@Id
@GeneratedValue
private int id;
private Date reservationDate;
@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private Room room;
@ManyToOne(fetch = FetchType.EAGER, cascade = CascadeType.ALL)
private User user;
当我尝试使用EntityManager.persist() 保存包含现有User 的新Reservation 对象时,我收到一个PSQLException 说“id=...”的用户违反了唯一约束»user_pkey«,因为该用户已经存在。我如何告诉 EntityManager 不要尝试创建 User(以及稍后的 Room),因为它已经存在?
【问题讨论】:
-
您如何将现有用户设置为您正在保留的 Reservation 对象?
标签: java jpa persistence psql entitymanager