[JIRA] (HHH-14131) NativeSQLQueryConstructorReturn is not processed by SQLQueryReturnProcessor
by Adrian Riley (JIRA)
Adrian Riley ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=5f23cba... ) *updated* an issue
Hibernate ORM ( https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiZDUyODdjZmRh... ) / Bug ( https://hibernate.atlassian.net/browse/HHH-14131?atlOrigin=eyJpIjoiZDUyOD... ) HHH-14131 ( https://hibernate.atlassian.net/browse/HHH-14131?atlOrigin=eyJpIjoiZDUyOD... ) NativeSQLQueryConstructorReturn is not processed by SQLQueryReturnProcessor ( https://hibernate.atlassian.net/browse/HHH-14131?atlOrigin=eyJpIjoiZDUyOD... )
Change By: Adrian Riley ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=5f23cba... )
I am trying to call a stored procedure with 2 OUT parameters. I have declared a NamedStoredProcedureQuery referencing a SqlResultSetMapping:
\ { \ {
@NamedStoredProcedureQuery(name = " set_case_handler set_handler ", procedureName = " API_CUSTOMER_AGREEMENT_PKG API_CUSTOMER_PKG. set_case_handler set_handler ",
parameters = \ {
@StoredProcedureParameter(mode = ParameterMode.IN, name = "p_agreement_id", type = String.class),
@StoredProcedureParameter(mode = ParameterMode.OUT, name = "p_success_o", type = Integer.class),
@StoredProcedureParameter(mode = ParameterMode.OUT, name = "p_error_message_o", type = String.class)
},
resultSetMappings = "procedure_result_mapping")
@SqlResultSetMapping(name = "procedure_result_mapping", classes = \ {
@ConstructorResult(targetClass = ProcedureResult.class, columns = \ {
@ColumnResult(name = "p_success_o", type = Integer.class),
@ColumnResult(name = "p_error_message_o", type = String.class)
})
}
}}
The stored procedure is executed and produces a Map of the two output parameters. Then {{SQLQueryReturnProcessor.processReturn}} is called, which calls {{processConstructorReturn}}. But this method is empty, so the SqlResultSetMapping has no effect, and the Map is returned as the query result.
Is this by design, or is the functionality just missing?
( https://hibernate.atlassian.net/browse/HHH-14131#add-comment?atlOrigin=ey... ) Add Comment ( https://hibernate.atlassian.net/browse/HHH-14131#add-comment?atlOrigin=ey... )
Get Jira notifications on your phone! Download the Jira Cloud app for Android ( https://play.google.com/store/apps/details?id=com.atlassian.android.jira.... ) or iOS ( https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailN... ) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100140- sha1:33445dc )
4 years, 4 months
[JIRA] (HHH-14131) NativeSQLQueryConstructorReturn is not processed by SQLQueryReturnProcessor
by Adrian Riley (JIRA)
Adrian Riley ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=5f23cba... ) *created* an issue
Hibernate ORM ( https://hibernate.atlassian.net/browse/HHH?atlOrigin=eyJpIjoiOTE0ZGUwZGFk... ) / Bug ( https://hibernate.atlassian.net/browse/HHH-14131?atlOrigin=eyJpIjoiOTE0ZG... ) HHH-14131 ( https://hibernate.atlassian.net/browse/HHH-14131?atlOrigin=eyJpIjoiOTE0ZG... ) NativeSQLQueryConstructorReturn is not processed by SQLQueryReturnProcessor ( https://hibernate.atlassian.net/browse/HHH-14131?atlOrigin=eyJpIjoiOTE0ZG... )
Issue Type: Bug Affects Versions: 5.4.19 Assignee: Unassigned Components: hibernate-core Created: 31/Jul/2020 00:55 AM Environment: hibernate-core-5.4.12.Final
JDK8
Windows 10 & Linux
Oracle Priority: Major Reporter: Adrian Riley ( https://hibernate.atlassian.net/secure/ViewProfile.jspa?accountId=5f23cba... )
I am trying to call a stored procedure with 2 OUT parameters. I have declared a NamedStoredProcedureQuery referencing a SqlResultSetMapping:
{{
@NamedStoredProcedureQuery(name = "set_case_handler", procedureName = "API_CUSTOMER_AGREEMENT_PKG.set_case_handler",
parameters =
{ @StoredProcedureParameter(mode = ParameterMode.IN, name = "p_agreement_id", type = String.class), @StoredProcedureParameter(mode = ParameterMode.OUT, name = "p_success_o", type = Integer.class), @StoredProcedureParameter(mode = ParameterMode.OUT, name = "p_error_message_o", type = String.class) }
,
resultSetMappings = "procedure_result_mapping")
@SqlResultSetMapping(name = "procedure_result_mapping", classes = {
@ConstructorResult(targetClass = ProcedureResult.class, columns =
{ @ColumnResult(name = "p_success_o", type = Integer.class), @ColumnResult(name = "p_error_message_o", type = String.class) }
)
}
}}
The stored procedure is executed and produces a Map of the two output parameters. Then SQLQueryReturnProcessor.processReturn is called, which calls processConstructorReturn. But this method is empty, so the SqlResultSetMapping has no effect, and the Map is returned as the query result.
Is this by design, or is the functionality just missing?
( https://hibernate.atlassian.net/browse/HHH-14131#add-comment?atlOrigin=ey... ) Add Comment ( https://hibernate.atlassian.net/browse/HHH-14131#add-comment?atlOrigin=ey... )
Get Jira notifications on your phone! Download the Jira Cloud app for Android ( https://play.google.com/store/apps/details?id=com.atlassian.android.jira.... ) or iOS ( https://itunes.apple.com/app/apple-store/id1006972087?pt=696495&ct=EmailN... ) This message was sent by Atlassian Jira (v1001.0.0-SNAPSHOT#100140- sha1:33445dc )
4 years, 4 months