多项选择重复行问题

时间:2018-04-15 09:08:59

标签: java spring hibernate jsp orm

我对表单数据的多对多关系存在一些问题。 场景就像 你可以创建新的帖子。在帖子添加页面中有选择框。你可以选择一些选项。这是多选的。标签表和帖子表之间有多对多的关系。这种关系记录在数据透视表中。

Posts.class

@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>();

Tags.class

@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 

后add.jsp

<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

@PostMapping(value = {"/add"})
public String adminPostSubmission(@SessionAttribute("User")User 
tempUser,@Valid @ModelAttribute("post")Posts post,BindingResult 
result,Model model,HttpServletRequest request) {
 postsService.saveOrUpdate(post);

我该如何解决这种情况?

0 个答案:

没有答案