我收到錯誤Exception in thread "main" org.springframework.dao.InvalidDataAccessApiUsageException: Parameter value [1] did not match expected type [java.lang.Boolean]; nested exception is java.lang.IllegalArgumentException: Parameter value [1] did not match expected type [java.lang.Boolean]
。參數值[1]與預期類型不匹配[java.lang.Boolean]
我很困惑,因爲它來自下面顯示的服務方法,它被註釋掉了。當我發表評論時,可以避免錯誤。 active
列是TINYINT(1)
,即1
或0
。
實體:
@Entity
@NamedQueries({
@NamedQuery(name="Workflow.findByUUID", query="SELECT w FROM Workflow w WHERE w.uuid = :uuid"),
@NamedQuery(name="Workflow.findByActive", query="SELECT w FROM Workflow w WHERE w.active = :active ORDER BY id ASC")
})
我的倉庫:
@Repository
public interface WorkflowRepository extends JpaRepository<Workflow, Integer> {
List<Workflow> findByActive(@Param("active") Integer active);
}
我的服務:
@Service
public class WorkflowService {
@Autowired
WorkflowRepository workflowRepository;
/**
* Get active workflows
*/
@Transactional(readOnly = true)
public List<Workflow> findActive() {
//return workflowRepository.findByActive(1);
return null;
}
當我取消
就JPA實體而言,參數是布爾值。這個問題用'hql' :-)標記,java中沒有tinyints。我認爲'@ NamedQueries'是java持久化語言。 –