1
私は2つのクラスCourse
とStudent
を持っています。 Student
クラスは、複合キーとしてfirstName
とlastName
を使用します。 をCourse
クラスに使用しますが、エラー"@OrderBy節のプロパティが見つかりません:Student.firstName"があります。@OrderByを使ってHibernateのコンポジットキーのどれかをソートする方法
コンポジットキー(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がcompositeキーを1つのフィールドinternalとして実装していて、firstNameがStudentにとって有効なフィールドではないようです。これが真実なら、firstNameで注文する方法はありますか? – hebingliu
デフォルトはプライマリキー{firstName、lastName}による注文ですが、firstNameで注文するだけです。 – hebingliu
@heingliu:私の投稿を更新しました。 –