我有2个表用户和userprofile相互映射。
用户配置文件的User.java getter方法是:
@OneToOne(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "user")
public Userprofile getUserprofiles() {
return this.userprofiles;
}
并且在用户的Userprofile.java getter方法中是:
@OneToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "UserID")
public User getUser() {
return this.user;
}
在User.jsp中,commandName是“userprofile”,控制器中的submit方法是:
@RequestMapping("/insertUser.do")
public ModelAndView showLoginForm( @ModelAttribute("userprofile") Userprofile userProfileBean,BindingResult result, HttpServletRequest request, HttpServletResponse response )throws Exception
{
java.util.Date utilDate=new java.util.Date();
java.sql.Timestamp timest=new Timestamp(utilDate.getTime());
userProfileBean.setEntryDate(timest);
User user = new User();
user.setUserProfile(userProfileBean);
this.userServ.createUser(user);
return new ModelAndView(new RedirectView("usersMapping.do"), "Test", "Test");
}
当我调用用户类的insert方法时,它会插入用户和userprofile表,但是在userprofile表中,userid没有更新。
请帮忙。
答案 0 :(得分:1)
您应该将用户个人资料添加到用户
user.setUserProfile(userProfileBean);
还将用户对象添加到userProfileBean
userProfileBean.setUser(user);