如何检查该列表<长>包含值?
2022-09-03 06:55:47
我有列表,其中包含:[160774,7212775]和。我需要检查列表是否包含值为.如何做到这一点?不幸的是,在我的情况下返回。List<Long> list
Long id = 7212775
id
list.contains(id)
false
我以这种方式使用它:
@RequestMapping("/case/{id}")
public String openCase(@PathVariable("id") Long id) {
log.debug(caseDAO.findAllCasesId()); // [160774, 7212775]
log.debug(id); // 7212775
if(caseDAO.findAllCasesId().contains(id)) {
return "case";
} else {
return "404";
}
}
DAO的一部分(休眠,但这里是原生sql):
public List<Long> findAllCasesId() {
String sql = "select id from cases";
SQLQuery query = getSession().createSQLQuery(sql);
return query.list();
}
解决
问题在于 ,返回 的列表 ,而不是 的列表。我通过以下方式纠正了这一点:caseDAO.findAllCasesId()
Object
Long
SQLQuery query = getSession().createSQLQuery(sql).addScalar("id", Hibernate.LONG);
非常感谢:南濑奈之