我在 Controller 中有这个 block :
@Override
@Transactional(propagation = Propagation.SUPPORTS)
public boolean isWorkflowCoordinatorExistingForStep(final long workflowStepId) {
Validate.notNull(workflowStepId, "workflow step id cannot be null");
return (boolean) this.auditingSqlSession.selectOne("isWorkflowCoordinatorExistingForStep", workflowStepId);
}
与此对应:
<select id="isWorkflowCoordinatorExistingForStep" resultType="java.lang.Boolean">
SELECT is_coordinator
FROM mo_subject_privileges
WHERE workflow_step_id = #{workflowStepId}
</select>
这对我来说似乎很好,但事实并非如此:我收到“不可转换的类型。无法将 java.lang.Object 转换为 boolean 值
”
有什么提示吗?
最佳答案
数据可能以字符串形式存储在数据库中,而不是像通常情况那样以 boolean 值形式存储。例如,可以添加 println(selectone.tostring()) 以确保输出为“TRUE”而不是“T”。
关于Java/My Batis 不返回 boolean 值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30785832/