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 roo:模特申请人、申请、大学和专业_Spring_Spring Mvc_Spring Roo - Fatal编程技术网

Spring roo:模特申请人、申请、大学和专业

Spring roo:模特申请人、申请、大学和专业,spring,spring-mvc,spring-roo,Spring,Spring Mvc,Spring Roo,我是春天的新手。我应该开发一个应用程序,用户(申请人)可以在其中注册,填写个人资料详细信息,并上传一些文档。之后,用户可以创建一个应用程序。在这个应用程序中,用户必须在大学和专业之间进行选择,每个大学都有不同的专业。我想在选择大学时改变专业 我有下面的模型,但我认为它需要一些改进 applicator.java @RooJavaBean @RooToString @RooJpaActiveRecord public class Applicant { @NotNull priv

我是春天的新手。我应该开发一个应用程序,用户(申请人)可以在其中注册,填写个人资料详细信息,并上传一些文档。之后,用户可以创建一个应用程序。在这个应用程序中,用户必须在大学和专业之间进行选择,每个大学都有不同的专业。我想在选择大学时改变专业

我有下面的模型,但我认为它需要一些改进

applicator.java

@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class Applicant {

    @NotNull
    private String name;

    @NotNull
    private String phone;

    private String address;

    @NotNull
    private String nationality;

    @NotNull
    private String email;

    @Temporal(TemporalType.TIMESTAMP)
    @DateTimeFormat(style = "M-")
    private Date dateOfBirth;

    @OneToMany(cascade = CascadeType.ALL, mappedBy = "applicant")
    private Set<Document> files = new HashSet<Document>();
}
University.java

@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class University {

    @NotNull
    private String name;

    private String address;

    @NotNull
    @ManyToMany(cascade = CascadeType.ALL)
    private Set<Major> majors = new HashSet<Major>();
}
@RooJavaBean
@生根
@RooJPA活动记录
公立大学{
@NotNull
私有字符串名称;
私有字符串地址;
@NotNull
@多个(级联=级联类型.ALL)
private Set majors=new HashSet();
}
Application.java

@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class Application {

    @NotNull
    private String status;

    @ManyToOne
    private Applicant applicant;

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<University> universities = new HashSet<University>();
}
@RooJavaBean
@生根
@RooJPA活动记录
公共类应用程序{
@NotNull
私有字符串状态;
@许多酮
私人申请人;
@多个(级联=级联类型.ALL)
私有集=新HashSet();
}
到目前为止,我还无法在用户更改大学时在应用程序中动态显示专业

例如: A大学有一个专业 B大学有B专业

创建应用程序时,如果用户选择大学,则只应显示专业A。

锁定,说明如何使用JPA处理多个关系。我想你错过了使大学关系双向化的
mappedBy
属性


祝你好运

谢谢你的评论,但是大学和专业之间的关系应该是一对多还是多对多。这篇文章主要关注多对多的关系。关系的类型取决于有多少大学可以与一个专业相关,市长可以如何与一所大学相关。这是一个模型设计决策。在同一网站上,您可以找到有关JPA关系的任何方面的信息:
@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class Application {

    @NotNull
    private String status;

    @ManyToOne
    private Applicant applicant;

    @ManyToMany(cascade = CascadeType.ALL)
    private Set<University> universities = new HashSet<University>();
}