【发布时间】:2018-04-04 23:54:59
【问题描述】:
我最近使用 Spring 4.3.9 从休眠 3.5 升级到 4.3.11 在升级之前一切正常。升级后出现此错误。
环境: 爪哇 8, 雄猫 7.0.23, 休眠 4.3.11, 春季 4.3.9, MSSQL 服务器 2008,
通过hibernate执行以下sql查询时,我们得到了列表中大小正确但对象为null的空对象列表。
查询:
select DISTINCT(HIERARCHY_ID) from BASETYPE_HIERARCHY_MAPPING
where BASETYPE_ID IN (select BASETYPE_ID from BASETYPE_GROUP_MAPPING
where GROUP_ID IN (select GROUP_ID from USER_GROUP_MAPPING where USER_ID like(select ID from USER where USERID='7')))
Java 代码:
String sqlQuery="select DISTINCT(HIERARCHY_ID) from BASETYPE_HIERARCHY_MAPPING where BASETYPE_ID IN "
+ "(select BASETYPE_ID from BASETYPE_GROUP_MAPPING where GROUP_ID IN "
+ "(select GROUP_ID from USER_GROUP_MAPPING where USER_ID=(select ID from USER where USERID=:userId)))";
Query query = session.createSQLQuery(sqlQuery);
query.setParameter("userId", userId);
List<String> typeId = query.list();
在空对象的结果列表中。我发现 HQL 有类似类型的问题(解决方案是映射错误),但它的 sql 查询很简单。
类似问题参考链接: Hibernate returns list of nulls although executed SQL returns values
【问题讨论】:
标签: java hibernate hibernate-4.x spring-orm