【问题标题】:Spring roo: Modeling applicant, application, universities and majorsSpring roo:模特申请者、申请者、大学和专业
【发布时间】:2015-11-23 09:23:20
【问题描述】:

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

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

申请者.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>();
}

主要.java

@RooJavaBean
@RooToString
@RooJpaActiveRecord
public class Major {

    @NotNull
    private String name;

    private int numOfHours;
}

大学.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>();
}

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>();
}

到目前为止,我无法做的是当用户更改大学时在应用程序中动态显示专业。

示例: A大学有A专业 B大学有B专业

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

【问题讨论】:

    标签: spring spring-mvc spring-roo


    【解决方案1】:

    锁定this post,它解释了如何使用 JPA 处理多对多关系。我认为您错过了 mappedBy 属性以使 University-Mayor 关系是双向的。

    祝你好运!

    【讨论】:

    • 感谢您的评论,但是大学和专业之间的关系应该是一对多还是多对多。这篇文章主要关注多对多关系。
    • 关系的类型取决于有多少大学可以与一个专业相关,以及市长可以如何附属于一所大学。这是一个模型设计决策。在同一个站点中,您可以找到有关 JPA 关系的任何方面的信息:en.wikibooks.org/wiki/Java_Persistence/Relationships
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多