Как отключить формулу гибернации, как фильтр?Это возможно? - PullRequest
0 голосов
/ 12 мая 2018

В Hibernate ORM мы можем отключить фильтр, используя
session.disableFilter("filterName");
Есть ли какое-либо решение для отключения formula в спящем режиме (с конфигурацией отображения xml)?
Я хочу отключить формулу в некоторых случаях, чтобыулучшить производительность.

1 Ответ

0 голосов
/ 29 мая 2018

Если вы используете JPA 2.1, вы можете использовать функцию вызова функции. для этого вам следует переместить запрос формулы в функцию базы данных и вызвать эту функцию в предложении select. Например, предположим, что calculate - это функция базы данных, которая принимает два числовых параметра. тогда вы можете вызвать эту функцию следующим образом:

Object r = em.createQuery("SELECT function('calculate', a.id, 1) FROM Author a WHERE a.id = 1").getSingleResult();

, и вы должны зарегистрировать свою пользовательскую функцию следующим образом:

public class MyPostgreSQL9Dialect extends PostgreSQL94Dialect {

    public MyPostgreSQL9Dialect() {
        super();
        registerFunction("calculate", new StandardSQLFunction("calculate"));
    }
}

для получения дополнительной информации проверьте это .

...