findCount
执行计数查询。
int count =
new QCustomer()
.name.icontains("foo.bar")
.findCount();
Ebean 将根据需要修改查询 select 子句
,执行 select count(*)
类型查询。
select count(*)
from customer t0
where lower(t0.name) like ? escape'|'
“多路径”
当谓词包含 多路径
(在下面的示例中,“contacts”是一个 @OneToMany
)时,Ebean 将使用带有 count distinct 的子查询。
int count =
new QCustomer()
.contacts.firstName.istartsWith("rob")
.findCount();
上述查询包含一个 contacts 的 多路径
,因此 SQL 变为
select count(*)
from (
select distinct t0.id
from customer t0 join contact u1 on u1.customer_id = t0.id
where lower(u1.first_name) like ? escape'|'
) as c; --bind(rob%)