Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
spring mvc 3和hibernate中的多对一映射_Hibernate_Spring Mvc - Fatal编程技术网

spring mvc 3和hibernate中的多对一映射

spring mvc 3和hibernate中的多对一映射,hibernate,spring-mvc,Hibernate,Spring Mvc,我有两张桌子: 编写器:编写器id(主键,自动递增),编写器名称(varchar) 文章:文章id(主键,自动递增),文章名称(varchar),作者id(fk,int) 一个作者可以有多篇文章。因此,从文章到作者的映射是多对一的 以下是我的文章模型: @Entity @Table(name = "articles") public class Article { @Id @GeneratedValue @Column(name = "article_id") priva

我有两张桌子: 编写器:编写器id(主键,自动递增),编写器名称(varchar) 文章:文章id(主键,自动递增),文章名称(varchar),作者id(fk,int)

一个作者可以有多篇文章。因此,从文章到作者的映射是多对一的

以下是我的文章模型:

@Entity
@Table(name = "articles")
public class Article {
   @Id
   @GeneratedValue
   @Column(name = "article_id")
   private Long articleId;

   @Column(name = "article_name", nullable = false, length=20)
   private String articleName;

   private Writer writer;

   public Writer getWriter() {
       return writer;
   }

   public void setWriter(Writer writer) {
       this.writer = writer;
   }
   //rest of setters and getters
}
writer属性的注释是什么

这是我的控制器类:

public class ArticleController {
    @Autowired
    private ArticleService articleService;

    @RequestMapping(value = "/add", method = RequestMethod.GET)
    public ModelAndView addArticle(@ModelAttribute("article") Article article,BindingResult result) {
    return new ModelAndView("addArticle");
    }

    @RequestMapping(value = "/save", method = RequestMethod.POST)
    public ModelAndView saveArticle(@ModelAttribute("article") Article article,BindingResult result) {
     articleService.addArticle(article);
     return new ModelAndView("redirect:/articles/list");
    }
}
在我的addArticle.jsp页面中,我在一个选择框中填充了writers(该框的值为writer\u id,标签为writer\u name)


请告诉我。

这里有一个选项,其他选项可用:

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "writer_fk", nullable = false)
private Writer writer;
在writer中,你可以

@OneToMany(mappedBy = "writer")
private Set<Article> articles= new HashSet<Article>();
@OneToMany(mappedBy=“writer”)
private Set articles=new HashSet();

这里有一个选项,其他选项可用:

@ManyToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "writer_fk", nullable = false)
private Writer writer;
在writer中,你可以

@OneToMany(mappedBy = "writer")
private Set<Article> articles= new HashSet<Article>();
@OneToMany(mappedBy=“writer”)
private Set articles=new HashSet();

谢谢,但在saveArticle方法中,我必须设置article.setWriter(writer)还是将其绑定到文章(模态属性)?谢谢,但在saveArticle方法中,我必须设置article.setWriter(writer)还是将其绑定到文章(模态属性)?