我是在写一个逻辑,以在数据库中保存JSON数据与关系多对多(休眠),为此,我有一个控制器类,域类的过程中, dao类,pom和page.jsp文件。弹簧MVC +休眠+ JSON post方法保存到数据库
这是我正在和我试图在数据库中保存的JSON数据
[{"id":1,"vendor":"6456","venedesc":"PHOA TIAN HUI","venupddat":1450320162470},{"id":2,"vendor":"6827","venedesc":"MKS(ENA O) PUTRA , CV","venupddat":145032016243433240}]
//类用户
@Entity
@Table(name = "users")
@JsonIgnoreProperties(value = { "role", "enabled", "password" }, ignoreUnknown = true)
public class User {
@Id
@GeneratedValue
private Integer idUser;
private String firstname;
private String lastname;
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "USER_VENDOR", joinColumns = { @JoinColumn(name = "idUser") }, inverseJoinColumns = {@JoinColumn(name = "ID") })
private Set<Vendor> vendors = new HashSet<Vendor>();//getter setter
和我的课厂商
@Entity
public class Vendor {
@[email protected]
@Column(name = "ID")
private Integer id;
@Column(name = "vendor")
private String vendor;
//getter setter
控制器
@RequestMapping("/tambah") //to get JSON
public @ResponseBody List<Vendor> getVendor(){
List<Vendor> list = vendorService.getall();
return list;
}
@RequestMapping(value = "/save", method = RequestMethod.POST)//to save
public ModelAndView addUser(@ModelAttribute("user") User user, RedirectAttributes redirectAttributes,Model model) {userService.addUser(user);
ModelAndView modelAndView = new ModelAndView("redirect:/admin/role/user");return modelAndView;}
供应商页面
<form:form commandName="user" action="${pageContext.request.contextPath }/admin/role/user/save" method="post" cssClass="form-horizontal addModalForm">
<div class="modal fade" id="addModalForm" role="dialog" aria-labelledby="modalLabel" aria-hidden="true">
<div><div>
<label class="col-sm-2 control-label">Vendor:</label>
<form:select id ="vendorJSON" path="vendors" />
</div></div>
<button type="submit" ><span class="glyphicon glyphicon-ok-circle"></span> Simpan</button>
<script type="text/javascript">
var $select = $('#vendorJSON');
$.getJSON("${pageContext.request.contextPath }/admin/role/user/tambah", function(data) {
$select.html('');
$.each(data, function(key, val){
$select.append('<option id="' + val.id + '">' + val.venedesc + '</option>');})
$('#detailVendor').html(data.id);});
$('#addModalForm').modal();
和我的聚甲醛
jackson-mapper-asl.version 1.9.13
jackson.version 2.5.4
spring.version 3.2.8.RELEASE
hibernate.version 4.2.8.Final
我不知道发生什么事,因为只显示HTTP状态400
看着你的服务器日志:你肯定* *找到更多的信息不仅仅是“HTTP 400”。在这里寻找一些故障排除提示:Spring MVC的 - HTTP状态代码400(错误请求)丢失的字段,它被定义为不需要(http://stackoverflow.com/questions/17858537/spring-mvc-http-status -code-400-坏请求对缺失场 - 这此结果defin)。 ALSO:1)得到[提琴手](http://www.telerik.com/fiddler),和2)使能[Hibernate日志](http://javarticles.com/2015/06/enabling-logging-in-hibernate .html) – paulsm4
看起来像通过GET请求发送数据,但您的控制器期望发布请求。 – Jens
不显示服务器日志失败,只显示最后一个查询选择。 和我一直在使用GET请求,但仍然一样。 – user151968