我使用与spring和hibernate相关的表单绑定。这适用于所有POJO输入字段。
我的模型中有一个@ManyToOne
关系,如果我为此下拉输入字段输入正确的值,但是其他一些输入字段在bindingresult中有错误,我得到一个异常会话/实体管理器已关闭但是当我调试时,我看到一个com.sun.jdi.InvocationException,其中我的对象(国家/地区)应链接到我的对象(证书)。
@RequestMapping(value = "/processForm", produces = "text/plain;charset=UTF-8")
public String processForm(@Valid @ModelAttribute("sdcertificate") SDCertificate theCertificate,
BindingResult theBindingResult,
Model theModel,
RedirectAttributes redirectAttributes,
@RequestParam("country") int id_country) {
System.out.println("Binding result: " + theBindingResult + "\n\n\n\n");
session = factory.getCurrentSession();
/***** Validation of user input *****/
if (theBindingResult.hasErrors()) {
/***** Begin - User Feedback with RedirectAttributes *****/
redirectAttributes.addFlashAttribute("success", false);
/***** End - User Feedback with RedirectAttributes *****/
return "main";
}
当BindingResult出错时,我得到了提到的错误。我会按需粘贴更多代码。我希望尽可能简单地阅读。
这是我的Controller尝试创建模型时的输出。
Type Exception Report Message org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: selfservice.Country.certificate, could not initialize proxy - no Session
描述服务器遇到意外情况,导致无法完成请求。
您可以在此处查看数据库架构。要了解全局。 DB Schema