Các bí danh Chiếu Hibernate có hoạt động không? Tôi có thể thề là không. Ít nhất, nó không làm những gì tôi mong đợi nó sẽ làm.Tiêu chí ngủ đông Bí danh chiếu không được sử dụng
Đây là java:
return sessionFactory.getCurrentSession()
.createCriteria(PersonProgramActivity.class)
.setProjection(Projections.projectionList()
.add(Projections.alias(Projections.sum("numberOfPoints"), "number_of_points"))
.add(Projections.groupProperty("person.id")))
.setFirstResult(start)
.setFetchSize(size)
.addOrder(Order.desc("numberOfPoints"))
.list();
Đây là SQL mà nó tạo ra:
select
sum(this_.number_of_points) as y0_,
this_.person_id as y1_
from
PERSON_PROGRAM_ACTIVITY this_
group by
this_.person_id
order by
this_.number_of_points desc
Nó dường như không sử dụng bí danh nào cả. Tôi nghĩ rằng việc đặt bí danh sẽ có nghĩa là sum(this_.number_of_points)
sẽ được đặt bí danh là number_of_points
chứ không phải là y0_
. Có một số mẹo tôi đang thiếu?
Cảm ơn.
+1 tôi đã nhìn thấy loại điều là tốt, tôi nghĩ rằng với truy vấn con. – Justin