使用Thymeleaf使用一对多关系发布数据

时间:2017-06-08 14:15:33

标签: spring-boot thymeleaf

当使用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]

1 个答案:

答案 0 :(得分:0)

您缺少将存储库注入控制器。在@Inject

之上添加siteRepository
@Controller
public class SiteController {

  @Inject
  private SiteRepository siteRepository;