微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java-如何使用带有无效返回参数的JPA 2.1 @NamedStoredProcedureQueries?

给定以下带注释的命名存储过程查询

@NamedStoredProcedureQueries({
    @NamedStoredProcedureQuery(
        name = "procedureName",
        procedureName = "stored_procedure"
    )
})

后执行

StoredProcedureQuery query = entityManager.createNamedStoredProcedureQuery("procedureName");
query.executeUpdate();

stored_procedure返回postgres void.

结果异常:由以下原因引起:org.hibernate.MappingException:JDBC类型的No Dialect映射:1111
.

如何解决

解决方法:

我通过使用一些拐杖代码解决了这个问题.

@sqlresultsetmapping(
    name = "VOID_MAPPING",
    classes = {
        @ConstructorResult(targetClass = VoidClass.class, columns = {})
    }
)

将resultSetMappings添加到@NamedStoredProcedureQuery.

 resultSetMappings = {
        "VOID_MAPPING"
 }

VoidClass只是一个空类.

public class VoidClass {}

但是,我希望有一个更好的解决方案.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐