Mô hình dữ liệu của tôi được tạo từ các trường học và học sinh. Học sinh có một FK đến trường mà họ thuộc về. Tôi không hiểu lý do tại sao bộ sưu tập chứa các bản sao, tức là Joe, Joe, Mary, Mary, Tom, Tom, v.v. Truy vấn SQL được tạo bởi Hibernate là chính xác và không trả về các bản sao. Tôi có thể thực hiện một hack để lọc ra các bản sao, nhưng tôi chưa sẵn sàng để sống với một cửa sổ bị hỏng nào;) Tôi đã cố dán các phần mã có liên quan bên dưới. Bất kỳ sự trợ giúp nào được đánh giá cao!Hibernate/JPA: các bản sao trong bộ sưu tập trẻ em
// SchoolJpa
@OneToMany (
mappedBy = "school",
targetEntity = StudentJpa.class,
fetch = FetchType.LAZY,
cascade = CascadeType.ALL
)
@Override
public List<Student> getStudentsInternal() {
return super.getStudentsInternal();
}
// SchoolImpl
private List<Student> students = new ArrayList<Student>();
public List<Student> getStudents() {
return Collections.unmodifiableList(students);
}
public List<Student> getStudentsInternal() {
return students;
}
public void setStudentsInternal(List<Students> students) {
this.students = students;
}
Mã cụ thể bạn đang sử dụng để truy xuất các đối tượng là gì? Hibernate có một số vấn đề được biết đến với một số loại HQL mà sẽ kích hoạt trùng lặp như thế này. – Jherico