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