【发布时间】:2019-03-01 10:28:13
【问题描述】:
我有以下代码试图获取整数:
woID = (Integer) this.em.createNativeQuery("SELECT fk_workorderid FROM manufacturing.workorders_todos WHERE fk_todoid = ?1")
.setParameter(1, todoID)
.getResultList()
.stream()
.findFirst()
.orElse(null);
LOGGER.debug("After native query Todo ID: "+todoID+" / WO ID: "+woID);
在日志中,这是我看到的:
2018-09-25 11:45:25,691 https-jsse-nio-8493-exec-8 调试休眠.SQL - SELECT fk_workorderid FROM Manufacturing.workorders_todos WHERE fk_todoid = ?
2018-09-25 11:45:25,691 https-jsse-nio-8493-exec-8 DEBUG loader.Loader - bindNamedParameters() 102754 -> 1 [1]
2018-09-25 11:45:25,691 https-jsse-nio-8493-exec-8 TRACE sql.BasicBinder - 绑定参数 [1] 作为 [INTEGER] - [102754]
2018-09-25 11:45:25,691 https-jsse-nio-8493-exec-8 调试 制造.ToDoFunctions - 本地查询后 Todo ID: 102754 / WO 编号:无
但是,如果我将 SQL 放到 MySQL Workbench 中,那么我会得到 woID 的预期结果。原生查询总是返回 null 有什么问题?
【问题讨论】: