【发布时间】:2017-11-08 17:24:44
【问题描述】:
对于下面提到的逻辑实现get exception (java.lang.StringIndexOutOfBoundsException: String index out of range: 0) at line : result = q.list();
我确定在许多地方性别为空。查询时还有其他方法可以检查 null 吗?
beginTransaction();
try {
SQLQuery q = getSession().createSQLQuery("SELECT DISTINCT " +
"ind.ind_id AS id, " +
"ind.IND_FNAME AS firstName, " +
"ind.IND_LNAME AS lastName, " +
"perInfo.IND_DOB AS dob, " +
"trc.trCTM_Grade_Mapping AS grade, " +
"TIMESTAMPDIFF(YEAR, perInfo.IND_DOB, NOW()) AS years, " +
"TIMESTAMPDIFF(MONTH, perInfo.IND_DOB, NOW()) AS months, " +
"perInfo.IND_SEX AS sex " +
"FROM INDIVIDUALS ind " +
"INNER JOIN USER_MEMBERSHIPS usm on usm.USR_ID = ind.IND_ID " +
"INNER JOIN PERSONAL_INFO perInfo on perInfo.IND_ID = ind.IND_ID " +
"INNER JOIN TRACKER_CUSTOM_DASHBOARD trcd on perInfo.IND_ID = trcd.USR_ID " +
"INNER JOIN TRACKER_CUSTOM trc on trcd.trCTM_MainID = trc.trCTM_MainID " +
"WHERE usm.GRP_ID = :GRP_ID ;");
q.setInteger ("GRP_ID", groupId);
q.setResultTransformer (Transformers.aliasToBean (ImmunizationsComplianceDTO.class));
result = q.list();
}catch(RuntimeException e) {
rollbackTransaction();
handleHibernateException(e);
throw e;
} finally {
closeTransaction();
}
【问题讨论】:
标签: hibernate