0

我现在感觉很愚蠢,因为我对以下代码有疑问:

StoredProcedureQuery spQuery = entityManager.createStoredProcedureQuery("MY_PROCEDURE", MagazineEntity.class);
spQuery.registerStoredProcedureParameter("ID", Integer.class, ParameterMode.PARAM_INOUT);

我收到以下编译器错误:

StoredProcedureQuery 类型中的方法 registerStoredProcedureParameter(String, Class, ParameterMode) 不适用于参数 (String, Class< Integer >, ParameterMode)

我正在使用 jdk1.8.0_201 和 javax.persistence.api 2.2:

<dependency>
  <groupId>javax.persistence</groupId>
  <artifactId>javax.persistence-api</artifactId>
  <version>2.2</version>
</dependency>

对象 entityManager 通过以下方式初始化:

@PersistenceContext
EntityManager entityManager;

在@Repository 类中。

我无法理解:我希望该方法接受 Integer.class 作为类型,但它不能将 Class< Integer > 作为 Class 参数。我也尝试过使用 String.class, new Integer(0), int.class 但这些也不起作用。

有类似的问题或想法,什么可能导致这种意外行为?

4

0 回答 0