在 Hibernate ORM 中,我们可以使用
禁用过滤器
session.disableFilter("filterName");
有没有解决方案可以在hibernate中禁用formula
(使用xml映射配置)?
我想在某些情况下禁用公式以提高性能。
最佳答案
如果您使用的是 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"));
}
}
了解更多信息请查看this .
关于java - 如何禁用 hibernate 公式(如过滤器)?这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50303531/