Issue と の 2 つのエンティティがありIssue_Tracker
ます。1 対多のマッピングで両方のテーブルを結合しました。ではIssue_Tracker
、次のように複数のエントリを持つことができます
issue_id tracker_status tracked_time
123 Assigned 1/8/2013 11:44
123 Assigned 1/8/2013 11:45
123 Completed 1/8/2013 11:52
32 Assigned 1/9/2013 16:46
33 Assigned 1/9/2013 16:47
33 Cancel 1/9/2013 16:49
最後の更新のみを取得できるように、Issue_tracker エンティティを tracked_time で注文したいのですがtracker_status
、データを取得する基準を使用していますが、たとえば最初のエントリを取得tracker_status : Completed
しています。 id 123.これを達成する方法。私のDAOは次のとおりです
Criteria criteria = session.createCriteria(Issue.class);
criteria.setFirstResult(from);
criteria.setMaxResults(size);
criteria.setFetchMode("Issue.issueTracker",FetchMode.JOIN);
criteria.add(Restrictions.eq("status", "Escalate To"));
return criteria.list();
問題.java
public class Issue implements Serializable
{
private Integer issue_id;
private String issue_description;
private Date issue_raised_date;
private Set<Issue_Tracker> issueTracker = new HashSet<Issue_Tracker>(0);
@OneToMany(fetch=FetchType.LAZY, mappedBy="issue_id")
public Set<Issue_Tracker> getIssueTracker() {
return issueTracker;
}
public void setIssueTracker(Set<Issue_Tracker> issueTracker) {
this.issueTracker = issueTracker;
Issue_Tracker.java
public class Issue_Tracker implements Serializable
{
private Integer issue_id;
private String tracker_status;
private Timestamp tracked_time;
皆さんが私が求めていることを理解していただけることを願っています。何か助けはありますか?