作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 NetBeans 调试 Java 中的方法。
该方法是:
public Integer getNumberOfClamps(Locations paLocation) {
Integer ret = -1;
List list = new ArrayList();
String removeme = "ABC";
if (paLocation == null) {
return ret;
}
try {
IO io = new IO(this.getSchemaName());
Session session = io.getSession();
String sql = "select count(*) from assets a join assettypes at on (at.id = a.assettype_id) ";
sql += "where a.currentlocation_id = " + paLocation.getId() + " and at.clamp = 1 and at.active = 1;";
list = session.createQuery(sql).list();
// for some reason, list is empty yet MySQL reports 40 records
// and the following two lines are never reached!
ret = list.size();
removeme = "WHAT???";
} catch (Exception ex) {
ret = -1; // explicitly set return
} finally {
return ret;
}
}
在方法的中间,您将看到 list = session.createQuery(sql).list();
由于某种原因,即使手动运行 SQL 时,我也得到 40 个结果,这会返回一个空列表。
但奇怪的是,一旦调用 .list()
,它就会跳转到 finally
block ,而永远不会到达其余部分!因此,对于测试来说,“removeme”应该等于 WHAT???
,但调试器将其报告为仍然 ABC
。
什么给出了?
最佳答案
您使用了错误的方法。 “createQuery”需要 HQL 语法。将方法更改为“createSQLQuery”
关于java - 为什么 NetBeans Java 调试器永远无法到达此代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8917515/
我有一个流 randStream,它每半秒发出一次随机值,还有一个 boolStream,它将值从 randStream 转换为 bool 值。 let randStream = Kefir.from
我是一名优秀的程序员,十分优秀!