Я использую Spring Data JPA findAll()
для выполнения запроса выбора. Однако этот результат возвращает некоторые повторяющиеся записи, в то время как другие не возвращаются.
У меня есть два POJO Student
и Class
.
Student
POJO:
@SuppressWarnings("serial")
@Entity
@Table(name="model_2", schema="vahanpgi")
public class Student implements Serializable {
@Column(name="m2_id")
private String stuId;
@Id
@Column(name="m2_des")
private String classId;
public String getStuId() {
return stuId;
}
@ManyToOne
@JoinColumn(name="m2_des", insertable = false, updatable = false)
private Class class1;
public void setStuId(String stuId) {
this.stuId = stuId;
}
public String getClassId() {
return classId;
}
public void setClassId(String classId) {
this.classId = classId;
}
public Class getClass1() {
return class1;
}
public void setClass1(Class class1) {
this.class1 = class1;
}
}
и Class
POJO:
@SuppressWarnings("serial")
@Entity
@Table(name="model_1", schema="vahanpgi")
public class Class implements Serializable {
@Id
@Column(name="m1_id")
private String classId;
@Column(name="m1_des")
private String className;
@OneToMany(mappedBy="class1")
private List<Student> student;
public String getClassId() {
return classId;
}
public void setClassId(String classId) {
this.classId = classId;
}
public String getClassName() {
return className;
}
public void setClassName(String className) {
this.className = className;
}
public List<Student> getStudent() {
return student;
}
public void setStudent(List<Student> student) {
this.student = student;
}
}
У меня есть две таблицы в базе данных с именами model_1
и model_2
:
model_1
стол
MODEL_1
m1_id m1_des
cl_1 nur
cl_2 lkg
model_2
стол
MODEL_2
m2_id m2_des
stu_1 cl_1
stu_2 cl_1
stu_3 cl_2
stu_4 cl_2
Я запускаю запрос findAll
, и моя проблема в том, что я получаю четырех студентов, в которых два студента повторяются с stu_1
и stu_3
ID.
Мой код:
Collection<Student> students= JpaStudent.findAll();
Iterator<Student> stuItr=students.iterator();
while(stuItr.hasNext())
{
int count=1;
System.out.println("Student id of student"+ count+ "is: " +stuItr.next().getStuId());
}
И вот что я получаю:
Student id of student1is: stu_1
Student id of student1is: stu_1
Student id of student1is: stu_3
Student id of student1is: stu_3