2

标准用于从数据库中检索数据。完美生成SQL Query,mySql单独测试并正确加载记录;
但是,当使用Criterial.list()它时,它会给我一个空列表。

我检查了我的数据库连接,它们都是正确的。什么会导致这个问题?


更新
这是我的代码:

accCr = DetachedCriteria.forClass(TSESpotInvestorAccount.class, "acc");
accCr.setResultTransformer(DetachedCriteria.DISTINCT_ROOT_ENTITY);
accCr.add(Restrictions.eq("exchangeDepositNo", filter.getBc()));
accCr.setProjection(Projections.id());
List accIds = getHibernateTemplate().findByCriteria(accCr);
4

1 回答 1

0

您的代码没有多大意义:

accCr.setResultTransformer(DetachedCriteria.DISTINCT_ROOT_ENTITY);

上面这行表示查询应该返回实体(可能有连接的实体),并且 Hibernate 应该只返回不同的实体

accCr.setProjection(Projections.id());

上一行表示查询必须只返回一个标量列:根实体的 ID。

如果您想要的是 ID 列表,则不要设置不同的根实体结果转换器。

于 2013-03-03T09:00:21.040 回答