【问题标题】:Create a rest service to call and execute a postgres function创建一个rest服务来调用和执行一个postgres函数
【发布时间】:2014-11-19 19:15:43
【问题描述】:

我有一个 postgres 函数,当前名为 do_function(),它不返回任何内容。我正在我的网页上创建一个按钮,按下它将在数据库上执行此功能。

以下是实现此目的的好方法吗?我收到一个错误:No Dialect mapping for JDBC type: 1111

目前我在 RS:

  @GET
  @Path("/doFunction")
    public void doFunction(@Context HttpServletRequest request)
    {
        getDao().doFunction;
    }

在 DAO 中:

@Transactional
public void doFunction()
{
    Session session = (Session) entityManager.getDelegate();
    SQLQuery query =   session.createSQLQuery("SELECT * FROM do_function()");
    query.uniqueResult();
}

【问题讨论】:

标签: java database postgresql rest dao


【解决方案1】:

如果你说“不返回任何东西”是指“返回 void”,那么许多 Java ORM 不理解 void 伪类型。

您可以通过调用来避免混淆它们:

SELECT do_function();

但除此之外,请使用如下虚拟结果:

SELECT 1 FROM do_function();

避免伤害 ORM 可怜的小脑袋。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-02-07
    • 2020-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-16
    相关资源
    最近更新 更多