我有一个小的学习项目,比如测验 API。当我尝试保存复杂对象(考试)时,hibernate 会抛出 EntityExistsException。我使用 dto (CreateExamRequestDto) 获得 REST 请求,然后我将此 dto 映射到一个实体并使用 Spring Data JPA 保存它。
这是我的实体类:
考试实体:
@Entity
@Table(name = "exams", uniqueConstraints = {@UniqueConstraint(columnNames = {
"name",
"category_id"
})})
public class Exam extends AbstractEntity {
@Id
@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "exams_seq_gen")
@SequenceGenerator(name = "exams_seq_gen", sequenceName = "exams_id_seq")
@Column(name = "id")
private Integer id;
@Column(name = "name", nullable = false)
private String name;
@ManyToOne
@JoinColumn(name = "category_id", nullable = false)
private Category category;
@ManyToOne
@JoinColumn(name = "owner_id", nullable = false) …Run Code Online (Sandbox Code Playgroud)