当使用Thymeleaf发布具有一对多关系的数据时,我想从表产品中使用下拉列表(nomclient)保存表单站点
实体模型
@Entity
public class Produit implements Serializable {
...
@OneToMany(fetch = FetchType.LAZY,mappedBy="produit")
private List<Site> listSites=new ArrayList<Site>();
...
实体模型 - 产品
public class Site implements Serializable {
...
@JoinColumn(name = "refProduit")
@ManyToOne(cascade = CascadeType.ALL,fetch = FetchType.LAZY)
private Produit produit;
...
控制器网站
@Controller
public class SiteController {
private SiteRepository siteRepository;
@RequestMapping(value="/save2",method=RequestMethod.POST)
public String save2(Model model, @Valid @ModelAttribute("site") Site site, BindingResult result) {
if(result.hasErrors()){
return "formProduit";
} else{
siteRepository.save(site); //line55
return "confirmationsite";
}}
...
错误
java.lang.NullPointerException: null
at com.example.web.SiteController.save2(SiteController.java:53) ~[classes/:na]
答案 0 :(得分:0)
您缺少将存储库注入控制器。在@Inject
。
siteRepository
@Controller
public class SiteController {
@Inject
private SiteRepository siteRepository;