1
두 개의 클래스 Course
과 Student
이 있습니다. Student
클래스는 firstName
및 lastName
을 복합 키로 사용합니다. 을 Course
클래스에 사용하고 싶지만 오류가 있습니다. "@OrderBy 절의 속성이 없습니다 : Student.firstName"입니다.@OrderBy를 사용하여 최대 절전 모드에서 복합 키 중 하나를 정렬하는 방법
합성 키 (예 : firstName
) 중 하나를 정렬하려면 어떻게해야합니까?
public class Course{
@OneToMany(mappedBy="course")
@OrderBy("firstName ASC")
// Error: property from @OrderBy clause not found: Student.firstName, why?
private List<Student> students;
.....
}
public class Student{
@Id
@Column(name="first_name")
private String firtName;
@Id
@Column(name="last_name")
private String lastName;
@ManyToOne
@JoinColumn(name="course_id")
private Course course;
.....
}
은, 내가 그것을 수정, 사용하여 작동해야하지만 여전히 오류가 발생합니다. hibernate가 복합 키를 하나의 필드 내부로 구현했으며 firstName은 Student의 유효한 필드가 아닙니다. 이것이 사실이라면 firstName으로 주문할 수있는 방법이 있습니까? – hebingliu
기본 키는 {firstName, lastName} 기본 키순으로 정렬되지만 firstName 만 주문하면됩니다. – hebingliu
@hebingliu : 내 게시물을 업데이트했습니다. –