मुझे लगता है कि आप शीर्ष 3 Deliverable
के लिए पूछ रहे हैं s Task
. से आईडी द्वारा आदेश दिया गया। आप कुछ इस तरह की कोशिश कर सकते हैं:
संपादित करें: ठीक है, मैं इस पर एक और वार करूंगा। इससे आपको शीर्ष 3 Deliverable
मिलना चाहिए s Task.id
. द्वारा आदेशित किया गया है केवल Deliverable
लेना max(Task.id)
. से संबद्ध
deliverables =
(List<Deliverable>) session.createQuery(
"from Deliverable as d, Task as t
where t.deliverable.id = d.id and
t.id = (select max(t1.id) from Task t1 where t1.deliverable.id = d.id)
and d.project.id= :id
and t.user.username = :name
order by t.id desc")
.setMaxResults(3)
.setLong("id", projectId)
.setString("name", username)
.list();