读书人

spring DATA JPA 带条件分页查询的有关

发布时间: 2012-12-17 09:31:40 作者: rapoo

spring DATA JPA 带条件分页查询的问题


public class FinancialLoanInfo implements java.io.Serializable {

// Fields

/**
*
*/
private static final long serialVersionUID = -5163416181325490447L;
private BigDecimal loanId;
private FinancialUsers userId;
//.....

}

在根据日期,状态查询FinancialLoanInfo 对象的时候,程序会自动查出关联的FinancialUsers这个对象的所有记录。

现在问题是
1.带参数,查询分页的方法能不能用JPA写,现在是查询所有的记录,在内存里处理的
2.如果是用JPA写,怎么关闭延迟加载。FinancialUsers

[最优解释]
延迟加载

@OneToOne(fetch = FetchType.LAZY)


分页查询

String jpql = "select * from XXX where name like :name"
Query query = em.createQuery(jpql);
query.setParameter("name", name+"%");

// 设置查询结果的结束记录数
int maxResults = pageSize;
query.setMaxResults(maxResults);

// 设置查询结果的开始记录数(从0开始计数)
int firstResult = (pageNo - 1) * pageSize;
query.setFirstResult(firstResult);

return query.getResultList();

[其他解释]
jpa中OneToOne和ManyToOne的映射关系默认是不延迟加载的只有OneToMany和ManyToMany默认才是延迟加载

读书人网 >J2EE开发

热点推荐