我有一个很长的对象,所以为了让系统更快,我决定只在#34;出勤率#34;在" get"检索时,属性(insted以显示所有元素)服务。
我有一个参加者名单,但有一种方法可以说只有前5名(在名单上获得),当我从"详细信息"服务,我会全力以赴。
@ManyToMany
private List<Attendance> attendance;
答案 0 :(得分:1)
编写自定义的repostitory,注入entitymanager并使用类似的查询:
entityManager.createQuery("Select a from Enity e join e.attendence a")
.setMaxResults(5)
.getResultList();
答案 1 :(得分:0)
即使你可以通过Hibernate Criteria来做:
public List findByLimit(Class persistentClass, String orderproperty, int limit)
{
Session session = getSession(); // Get Session here
try
{
Criteria criteria = session.createCriteria(persistentClass);
criteria.addOrder(Order.desc(orderproperty));
criteria.setMaxResults(limit);
criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);
return criteria.list();
}
catch (RuntimeException re)
{
//Catch exception
}
finally
{
//close the session
}
}
现在调用上面的函数:
findByLimit(Example.class,id,5); // here id is your order property