创建一个休息服务来调用和执行postgres函数

时间:2014-11-19 19:15:43

标签: java database postgresql rest dao

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

以下是一个很好的方法吗?我收到错误: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();
}

1 个答案:

答案 0 :(得分:0)

如果你说“不返回任何东西”意味着“返回无效”,许多Java ORM都不理解void伪类型。

您可以通过改为调用来避免混淆:

SELECT do_function();

但是否则,使用虚拟结果,如:

SELECT 1 FROM do_function();

避免伤害ORM可怜的小脑。