我有查询,在oracle sql开发人员中执行需要几毫秒,同样的查询通过hibernate大约需要2分钟。我设置show_sql = true但没有发现任何线索。 以下是详细信息 -
查询 -
select field1 from table1 t1
join table2 t2 on t1.id = t2.id
where t2.status = 'SomeValue';
Hibernate查询 -
Criteria criteria = getSession().createCriteria(Table1ClassName.class);
criteria.createAlias("table2", "ts", CriteriaSpecification.INNER_JOIN);
criteria.add(Restrictions.eq("ts.status", "SomeValue"));
criteria.setProjection(Property.forName("field1"));
return criteria.list();
生成的sql -
select
this_.field1 as y0_
from
table1 this_
inner join
table2 ts1_
on this_.ID=ts1_.ID
where
hs1_.STATUS='SomeValue';
查询返回大约5000条记录。是否将数据转换为java对象需要时间。 任何帮助表示赞赏..