是的,使用JPA StoredProcedureQuery时可以将null参数传递给存储过程。
您必须在application.properties文件中添加以下属性,并使用其名称注册参数。
spring.jpa.properties.hibernate.proc.param_null_passing=true
例:
StoredProcedureQuery q = em.createStoredProcedureQuery(Globals.SPROC_PROBLEM_COMMENT2, ProblemCommentVO.class);q.registerStoredProcedureParameter("Patient_ID", Long.class, ParameterMode.IN);q.registerStoredProcedureParameter("Param2", Long.class, ParameterMode.IN);q.registerStoredProcedureParameter("Param3", Long.class, ParameterMode.IN);q.registerStoredProcedureParameter("Param4", Integer.class, ParameterMode.OUT);q.setParameter("Patient_ID", patientId);q.setParameter("Param2", null);//passing null value to Param2q.setParameter("Param3", null);List<ProblemCommentVO> pComments = q.getResultList();Integer a = (Integer) q.getOutputParameterValue("Param4");
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)