我对表单数据的多对多关系存在一些问题。 场景就像 你可以创建新的帖子。在帖子添加页面中有选择框。你可以选择一些选项。这是多选的。标签表和帖子表之间有多对多的关系。这种关系记录在数据透视表中。
@ManyToMany(fetch = FetchType.LAZY,cascade = {CascadeType.ALL})
@JoinTable(
name="Posts_Tags",
joinColumns = {@JoinColumn(name="posts_id")},
inverseJoinColumns = {@JoinColumn(name="tags_id")})
private Set<Tags> tag = new HashSet<Tags>();
@ManyToMany(mappedBy = "tag")
private Set<Posts> posts = new HashSet<Posts>();
这个类是pojo类,它看起来像关联(多对多)
当人们想要创建新项目并选择多个标签时,请提交 页面上写着;
org.springframework.dao.DataIntegrityViolationException: could not
execute statement; SQL [n/a]; constraint [PRIMARY]
Caused by: java.sql.SQLIntegrityConstraintViolationException: Duplicate
entry '12' for key 'PRIMARY' at
<form:form class="form-horizontal" modelAttribute="post" method="POST"
action="${contextRoot}/posts/add" enctype="multipart/form-data">
<div class="form-group">
<div class="col-md-8">
<label class="control-label col-md-4" for="">Enter
Description</label>
<form:select path="tag" id="tag" cssClass="js-example-basic-
multiple" items="${tags}"/>
</div>
</div>
$ {tags}我在列表中发送了标记项。选择框功能是多个。
@PostMapping(value = {"/add"})
public String adminPostSubmission(@SessionAttribute("User")User
tempUser,@Valid @ModelAttribute("post")Posts post,BindingResult
result,Model model,HttpServletRequest request) {
postsService.saveOrUpdate(post);
我该如何解决这种情况?