0

我有以下带有三个简单表的架构:

STUDENTS: id, name, lastname
HOBBY: id, hobby_name
HOBBY_STUDENT: id_hobby, id_student

我有一台运行 Hibernate 和 Spring 的服务器。

一个 JSP 页面在 STUDENT 上执行 CRUD 操作,另一个在 HOBBY 上执行。

这很容易,我只需要一个类似的实体:

  @Entity
  @Table(name="STUDENT")
  public class Student {

        @Id
        @Column(name="ID")
        @GeneratedValue
        private Integer id;

        @Column(name="NAME")
        private String name;

        @Column(name="LASTNAME")
        private String lastName;

        // Getters and setters here
  }

现在我需要创建一个页面来管理 HOBBY_STUDENT。问题是我不应该在 JSP 页面中显示 ID,而是显示相应的值(即与学生相关的爱好和学生信息)。

为了做到这一点,我应该如何编写我的实体和我的 DAO?你有什么建议吗?

4

1 回答 1

0

正如 Santosh Pingale 所说:学生班应该保持一套爱好。

所以你的实体 Student 应该变成这样:

  @Entity
  @Table(name="STUDENT")
  public class Student {

        @OneToMany
        @JoinTable(name="student_hobbies", joinColumns=@JoinColumn(name="student_id"),
           inverseJoinColumns=@JoinColumn(name="hobby_id"))
        private Collection<Hooby> hobbies;

        @Id
        @Column(name="ID")
        @GeneratedValue
        private Integer id;

        @Column(name="NAME")
        private String name;

        @Column(name="LASTNAME")
        private String lastName;

        // Getters and setters here
  }
于 2013-07-08T11:00:43.687 回答