【发布时间】:2020-06-25 04:31:50
【问题描述】:
是否可以注册一个用数据库编写的自定义函数并用扩展的休眠 Postgres 方言编写如下?接收函数在HQL中使用该函数不存在异常。
Postgres 函数:
create or replace function ADD_DAYS(varDate timestamp without time zone, varNumber numeric)
returns timestamp without time zone
LANGUAGE sql AS
$$
SELECT (varDate + varNumber * INTERVAL '1 day')
$$;
Java 代码:
registerFunction("add_days", new SQLFunctionTemplate(StandardBasicTypes.DATE, "add_days(?1 , ?2)"));
【问题讨论】:
-
能否请您提供休眠配置?
-
任何休眠配置都可以。方言需要是扩展 Postgre 特定方言的自定义方言。对于日期字段 TemporalType.TIMESTAMP & columnDefinition 作为日期使用。
-
好的,我会问更具体的问题:
hibernate.connection.url使用什么值?你用hibernate.default_schema吗? -
不使用默认架构。我会尝试你提到的解决方案。 Schema 可能会来拯救(Y)
标签: postgresql hibernate