Ich versuche, eine gespeicherte Prozedur, deren Unterschrift aufrufen sieht wie folgt aus:`Type kann nicht null` Ausnahme sein, wenn Stored Procedure mit Spring Data JPA zu laufen versuchen
CREATE OR REPLACE PROCEDURE FIND_FIRST_BOOKMARK_GT(bookmark IN NUMBER, cur OUT SYS_REFCURSOR)
Ich bin mit Spring-Data JPA und habe eine Anzahl verschiedener Varianten ausprobiert, aber alle folgen mehr oder weniger dem folgenden Muster. Meine Entitätsmodell eingerichtet wie folgt:
@NamedStoredProcedureQuery(name = "Response.findFirstBookmarkGreaterThan", procedureName = "FIND_FIRST_BOOKMARK_GT",
resultClasses = Response.class,
parameters = {
@StoredProcedureParameter(name = "bookmark", mode = ParameterMode.IN, type = Long.class),
@StoredProcedureParameter(name = "cur", mode = ParameterMode.REF_CURSOR, type = void.class)
})
})
Dann habe ich mein Repository, das wie folgt aussieht:
@Repository
public interface ResponseRepository extends CrudRepository<Response, Long>{
@Procedure("Response.findFirstBookmarkGreaterThan")
Response findFirstBookmarkGreaterThan(@Param("bookmark") Long bookmark);
}
Ich habe die Anweisungen von ganz wenigen Beispielen gefolgt, aber ich bin immer links mit der gleiche Fehler, nämlich:
java.lang.IllegalArgumentException: Type cannot be null
at org.hibernate.procedure.internal.AbstractParameterRegistrationImpl.setHibernateType(AbstractParameterRegistrationImpl.java:182) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
at org.hibernate.procedure.internal.AbstractParameterRegistrationImpl.<init>(AbstractParameterRegistrationImpl.java:131) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
at org.hibernate.procedure.internal.AbstractParameterRegistrationImpl.<init>(AbstractParameterRegistrationImpl.java:140) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
at org.hibernate.procedure.internal.AbstractParameterRegistrationImpl.<init>(AbstractParameterRegistrationImpl.java:97) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
at org.hibernate.procedure.internal.NamedParameterRegistration.<init>(NamedParameterRegistration.java:41) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
at org.hibernate.procedure.internal.ProcedureCallImpl.registerParameter(ProcedureCallImpl.java:344) ~[hibernate-core-4.3.11.Final.jar:4.3.11.Final]
at org.hibernate.jpa.internal.StoredProcedureQueryImpl.registerStoredProcedureParameter(StoredProcedureQueryImpl.java:152) ~[hibernate-entitymanager-4.3.11.Final.jar:4.3.11.Final]
at org.springframework.data.jpa.repository.query.StoredProcedureJpaQuery.newAdhocStoredProcedureQuery(StoredProcedureJpaQuery.java:175) ~[spring-data-jpa-1.9.4.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.StoredProcedureJpaQuery.createStoredProcedure(StoredProcedureJpaQuery.java:130) ~[spring-data-jpa-1.9.4.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.StoredProcedureJpaQuery.doCreateQuery(StoredProcedureJpaQuery.java:89) ~[spring-data-jpa-1.9.4.RELEASE.jar:na]
at org.springframework.data.jpa.repository.query.StoredProcedureJpaQuery.createQuery(StoredProcedureJpaQuery.java:80) ~[spring-data-jpa-1.9.4.RELEASE.jar:na]
......
Irgendwelche Ideen, was hier falsch ist?
Können Sie den Code ohne die Köter Parameter Referenz Erklärung versuchen und prüfen, ob der Fehler noch vorhanden – Mudassar
Gleiches Problem tritt auf – mike